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);
OrderBy
将System.Linq.Expressions.Expression<Func<TSource,TKey>>
作为参数。 您要排序的实体类型TSource
,但TKey
应该是什么类型?
TKey
是一个泛型类型参数,表示排序所依据的表达式的类型。例如,如果按长度对字符串进行排序,则将TSource
string
,TKey
将被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);