What is TKey in System.Linq.Expressions.Expression<Func&l

本文关键字:lt Func Expression Expressions TKey is in System Linq What | 更新日期: 2023-09-27 18:33:24

我正在尝试将 Linq OrderBy 子句所需的表达式存储在数据结构中,所以我可以query = query.OrderBy(MySortExpression);

OrderBySystem.Linq.Expressions.Expression<Func<TSource,TKey>>作为参数。 您要排序的实体类型TSource,但TKey应该是什么类型?

What is TKey in System.Linq.Expressions.Expression<Func&l

TKey是一个

泛型类型参数,表示排序所依据的表达式的类型。例如,如果按长度对字符串进行排序,则将TSource stringTKey将被int,如下面的代码所示:

string [] myStrings = new[] {"quick", "brown", "fox", "jumps"};
var ordered = myStrings.OrderBy(s => s.Length);

> TKey 是表达式返回类型的类型。例如:

users.OrderBy(user => user.Name); 

由于 Name 是字符串,因此类型将为System.Linq.Expressions.Expression<Func<User,string>>

TKey不绑定到特定类型。通常,它是属性到基元类型的投影以启用排序。

假设Person具有BirthYear属性

,您将选择
 persons.OrderBy(p => p.BirthYear);