public static IOrderedEnumerable<TSource> OrderBy<TSource, TKey>( this IEnumerable<TSource> source, Func<TSource, TKey> keySelector)
不是很懂这个是什么意思,麻烦给讲下,O(∩_∩)O谢谢。
主要是后面的参数部分:thisIEnumerable<TSource>source 和 Func<TSource,TKey>keySelector
最好是能写个使用的例子,只要一两句代码就可以了。
再次感谢,分不多,抱歉。。
this IEnumerable<TSource> source 是指该方法为一个扩展方法,凡是IEnumerable<TSource>类型的对象都可以调用OrderBy<TSource, TKey>方法。
Func<TSource, TKey> keySelector是一个委托,TSource是委托的参数类型,TKey为委托的返回类型。
以下代码来自MSDN
class Pet
{
public string Name { get; set; }
public int Age { get; set; }
}
public static void OrderByEx1(System.Windows.Controls.TextBlock outputBlock)
{
Pet[] pets = { new Pet { Name="Barley", Age=8 },
new Pet { Name="Boots", Age=4 },
new Pet { Name="Whiskers", Age=1 } };
IEnumerable<Pet> query = pets.OrderBy(pet => pet.Age);
foreach (Pet pet in query)
outputBlock.Text += "\n" + String.Format("{0} - {1}", pet.Name, pet.Age);
}
/*
This code produces the following output:
Whiskers - 1
Boots - 4
Barley - 8
*/
class Pet
{
public string Name { get; set; }
public int Age { get; set; }
}
public static void OrderByEx1()
{
Pet[] pets = { new Pet { Name="Barley", Age=8 },
new Pet { Name="Boots", Age=4 },
new Pet { Name="Whiskers", Age=1 } };
IEnumerable<Pet> query = pets.OrderBy(pet => pet.Age);
foreach (Pet pet in query)
{
Console.WriteLine("{0} - {1}", pet.Name, pet.Age);
}
}
/*
This code produces the following output:
Whiskers - 1
Boots - 4
Barley - 8
*/