.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;
相关新闻>>
- 发表评论
-
- 最新评论 更多>>