有人可以请帮忙拆开这里的元素并帮助我理解它们是什么吗?
public static IOrderedEnumerable<TSource> OrderByDescending<TSource, TKey>(
this IEnumerable<TSource> source,
Func<TSource, TKey> keySelector
)
什么是TSource和TKey?什么是keySelector?什么是IOrderedEnumerable?
Func&lt;&gt;做??
为什么MSDN如此神秘?
答案 0 :(得分:11)
分解
Func<TSource,TKey>
:将为集合中的给定元素返回密钥的委托此功能本质上是一种排序功能。因此,它需要一种方法来比较集合中的元素。该特定方法假定对于给定对象,存在可以对其进行排序的对应键值。
以下面的班级学生
为例class Student {
string Name { get; set; }
...
}
如果我想按名称对Student
个实例的集合进行排序,我可以执行以下操作
IEnumerable<Student> col = GetTheStudents();
var ordered = col.OrderByDescending( x => x.Name );
在这种情况下,值如下
Student
String
Func<TSource,TKey>
:这是传入的lambda表达式x => x.Name
答案 1 :(得分:3)
我只是想知道,在MSDN上究竟有什么不清楚? 以下是主题:http://msdn.microsoft.com/en-us/library/bb548916.aspx
以下是您对该主题提出的问题的一些答案:
类型参数
TSource - 源元素的类型。
TKey - keySelector返回的密钥类型。
<强>参数强>
source - 要订购的一系列值。
keySelector - 从元素中提取键的函数。
comparer - 用于比较密钥的IComparer。
返回值
IOrderedEnumerable,其元素根据键按降序排序。
此外,还有备注和示例。你在这里发布的内容只是该方法的一个标志。