📜  LINQ OrderBy运算符(升序)(1)

📅  最后修改于: 2023-12-03 15:32:39.369000             🧑  作者: Mango

LINQ OrderBy运算符(升序)

在使用LINQ进行数据查询时,经常需要对结果进行排序操作。其中,OrderBy运算符用于按升序对序列中的元素进行排序。

语法
public static System.Linq.IOrderedEnumerable<TSource> OrderBy<TSource, TKey>(this System.Collections.Generic.IEnumerable<TSource> source, System.Func<TSource, TKey> keySelector);

其中,source是要排序的元素序列,keySelector是选取用于排序的键。

示例

假设有以下字符串序列:

string[] names = { "alice", "bob", "charlie", "david", "emma" };

我们想按字母升序对其进行排序,代码如下:

var sortedNames = names.OrderBy(n => n);

其中,n => n表示选取字符串本身作为排序键,结果为升序排序的序列。

返回值

OrderBy运算符返回一个IOrderedEnumerable类型的有序序列,其中TSource为排序的元素类型。可以继续使用其他LINQ运算符对其进行进一步操作。

注意事项
  • 如果元素序列为空,OrderBy运算符将返回一个空序列。
  • 如果键(keySelector返回值)类型不可比较,将导致InvalidOperationException异常。
  • 若要按降序对元素进行排序,可以使用OrderByDescending运算符。