.NET基础学习(LINQ)(4)
5 where a==4 //条件二
6 select new { a, b, sum };
7 foreach (var v in someInts) Console.WriteLine(v);消除行号
运行结果:

orderby子句
orderby子句接受一个表达式并根据表达式依次返回结果项,orderby子句的默认排序是升序,然而我们可以使用ascending和descending关键词显示第设置元素排序为升序或降序,ordery可以有任意多个子句,它们必须用逗号隔开。
示例代码如下:
1 var persons = new[] { //匿名类型的对象数组
2 new {Name="张三",Sex="男",Age=32,Address="广东深圳"},
3 new {Name="李四",Sex="男",Age=26,Address="广东广州"},
4 new {Name="王五",Sex="女",Age=22,Address="广东深圳"},
5 new {Name="赵六",Sex="男",Age=33,Address="广东东莞"}
6 };
7 var query = from p in persons
8 orderby p.Age
9 select p;
10 foreach (var p in query) Console.WriteLine("Name:{0},Sex:{1},Age:{2},Address:{3}", p.Name, p.Sex, p.Age, p.Address);运行结果:

group by子句
group子句把select的对象根据一些标准进行分组。例如,有了前面示例人的数组,程序可以根据它们的所在地进行分组。
group by如果项包含在查询结果中,它们就可以根据某个字段的值进行分组。作为分组依据的项叫做键(key);和select子句不同,group子句不从原始的数据源中返回可枚举的可枚举类型,而是返回以枚举已经形成的项的分组的可枚举类型;分组本身是可枚举类型,它们可枚举实际的项。
示例代码如下:
1 var persons = new[] { //匿名类型的对象数组
2 new {Name="张三",Sex="男",Age=32,Address="广东深圳"},
3 new {Name="李四",Sex="男",Age=26,Address="广东广州"},
4 new {Name="王五",Sex="女",Age=22,Address="广东深圳"},
5 new {Name="赵六",Sex="男",Age=33,Address="广东东莞"}
6 };
7 var query = from p in persons
8 group p by p.Address;
相关新闻>>
- 发表评论
-
- 最新评论 进入详细评论页>>
今日头条
更多>>您可能感兴趣的文章
- .NET设计模式:工厂方法模式(Factory Method)[1]
- JQuery+Asp.net MVC实现用户名重名查询
- .net架构的最后思考(箴言)
- 聊聊.net程序设计——浅谈使用VS2010建模拓展(下
- MVC3+Entity Framework 实现投票系统(二)
- 使用ASP.NET MVC3+EF+Jquery制作文字直播系统(四
- Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注
- asp.net DataTable和Dataset序列化成Json格式
- Web Service学习笔记(4)
- .NET简谈互操作(四:基础知识之Dispose非托管内存



