.NET LINQ 数据排序

时间:2020-12-19 14:31:23
  • 数据排序
     排序操作按一个或多个特性对序列的元素进行排序。 第一个排序条件对元素执行主要排序。 通过指定第二个排序条件,可以对各个主要排序组中的元素进行排序。
.NET LINQ 数据排序
 
  • 方法

方法名

说明

C# 查询表达式语法

Visual Basic 查询表达式语法

更多信息

OrderBy

按升序对值进行排序。

orderby

Order By

Enumerable.OrderBy

Queryable.OrderBy

OrderByDescending

按降序对值进行排序。

orderby … descending

Order By … Descending

Enumerable.OrderByDescending

Queryable.OrderByDescending

ThenBy

按升序执行次要排序。

orderby …, …

Order By …, …

Enumerable.ThenBy

Queryable.ThenBy

ThenByDescending

按降序执行次要排序。

orderby …, … descending

Order By …, … Descending

Enumerable.ThenByDescending

Queryable.ThenByDescending

Reverse

颠倒集合中的元素的顺序。

不适用。

不适用。

Enumerable.Reverse<TSource>

Queryable.Reverse<TSource>

  • 代码示例
    • 主要升序排序
  string[] words = { "the", "quick", "brown", "fox", "jumps" };
IEnumerable<string> query = from word in words orderby word.Length select word;
foreach (string str in query) Console.WriteLine(str);
 
    • 主要降序排序
 string[] words = { "the", "quick", "brown", "fox", "jumps" };
IEnumerable<string> query = from word in words orderby word.Substring(0, 1) descending select word;
foreach (string str in query) Console.WriteLine(str);
 
    • 次要升序排序
string[] words = { "the", "quick", "brown", "fox", "jumps" };
IEnumerable<string> query = from word in words orderby word.Length, word.Substring(0, 1) select word;
foreach (string str in query) Console.WriteLine(str);
 
    • 次要降序排序
  string[] words = { "the", "quick", "brown", "fox", "jumps" };
IEnumerable<string> query = from word in words orderby word.Length, word.Substring(0, 1) descending select word;
foreach (string str in query) Console.WriteLine(str);