1.order by 默认的排序方式为升序(ascending),降序为:descending.
2.group by 对查询的结果进行分组
3.into创建一个临时存储器,可以存储group或者select等子句的结果
order by的例子
int[] values = { 0, 2, 4, 6, 8, 1, 3, 5, 7, 9 }; var value = from v in values orderby v ascending select v; foreach (var v in value) { Console.WriteLine(v); }
group by的例子
int[] values = { 0, 3, 4, 6, 8, 1, 2, 5, 7, 9 }; var value = from v in values orderby v group v by v % 2 == 0; foreach (var v in value) { foreach (var k in v) { Console.WriteLine(k); } }
1.注意我改变了 int数组的顺序
2.输出的结果与上一个例子输出的结果是一样的
3.因为group结尾的linq查询获得的将是两个集合,所以我这里用了双层嵌套循环来获取每个集合中的数据
into的例子
int[] values = { 0, 2, 4, 6, 8, 1, 3, 5}; var value = from v in values group v by v%2==0 into g where g.Count()>3 select g; foreach (var v in value) { foreach(var k in v) Console.WriteLine(k); }
1.我再次修改了数组
2.仍然是用了嵌套foreach循环
3.这次只输出0 2 4 6 8