使用LINQ的列表排序范围

Mar*_*duk 1 c# linq sorting sql-order-by

我想知道是否可以使用LINQ进行远程排序,例如我有数字列表:

List< int > numbers = new List< int >

  • 1个
  • 2
  • 3
  • 15 <-排序
  • 11 <-排序
  • 13 <-排序
  • 10 <-排序
  • 6
  • 7
  • 等等

只需使用即可numbers.Skip(3).Take(4).OrderBy(blabla),但会返回仅包含这4个数字的新列表。是否可以以某种方式强迫LINQ在不返回新的“部分”列表的情况下自行工作或接收带有排序部分的完整列表?感谢您的回答!

Ste*_*ers 5

尝试这样的事情:

var partiallySorted = list.Where(x => x < 11)
                 .Concat(list.Where(x => x >= 11 && x <=15).OrderBy(/*blah*/)))
                 .Concat(list.Where(x => x > 15));
Run Code Online (Sandbox Code Playgroud)