C#之Linq用法

众所周知,Linq极大的提高了开发的效率,提高了代码的简洁程度,不过呢,Linq也是一把双刃剑,代码的易读性呢又有点尴尬哈,尽管如此,它还是备受程序员青睐。

 

1、Linq——Group By

先定一个类,以便用来按照其中的某个字段进行分组。

    class User
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Num { get; set; }
    }

 

接下来使用group by 进行分组

            List<User> list = new List<User>{ 
                                  new User() { Id = 1, Name = "123",Num="qqq" },
                                  new User() { Id = 2, Name = "456",Num="qqq" },
                                  new User() { Id = 3, Name = "789",Num="qqq" } };

            var temp = from f in list
                       group f by f.Num into g
                       select new
                       {
                           name = g.Key,
                           count = g.Count(r => r.Id > 0)
                       };
            string s = "";
            int i = 0;
            foreach (var item in temp)
            {
                s = item.name;
                i = item.count;
            }
            Console.WriteLine(s + " " + i.ToString());
            Console.ReadLine();

将list按照其 Num属性进行分组,其中 g.Key就是Num的值 "qqq" ,g.Count()就是该组的元素的数量。

以上结果是: qqq3

 

posted on 2017-01-07 14:17  奔游浪子  阅读(167)  评论(0)    收藏  举报

导航