首页 新闻 会员 周边 捐助

IOrderedEnumerable<TSource> OrderBy怎么用

0
悬赏园豆:10 [已关闭问题]
C#
public static IOrderedEnumerable<TSource> OrderBy<TSource, TKey>(    this IEnumerable<TSource> source,    Func<TSource, TKey> keySelector)

不是很懂这个是什么意思,麻烦给讲下,O(∩_∩)O谢谢。

主要是后面的参数部分:thisIEnumerable<TSource>source 和 Func<TSource,TKey>keySelector

最好是能写个使用的例子,只要一两句代码就可以了。

再次感谢,分不多,抱歉。。

老鸵的主页 老鸵 | 初学一级 | 园豆:195
提问于:2010-05-11 18:20
< >
分享
其他回答(1)
0

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
*/

 

 

麒麟.NET | 园豆:3614 (老鸟四级) | 2010-05-11 23:12
谢谢,但是还有点不是很明白,我还是去学习下Linq吧。
支持(0) 反对(0) 老鸵 | 园豆:195 (初学一级) | 2010-05-12 10:43
0

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
            */


新手学习中 | 园豆:205 (菜鸟二级) | 2011-12-20 23:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册