Linq:基本语法group by, order by ,into(3)

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

posted @ 2009-06-02 20:05  liulun  阅读(4804)  评论(0编辑  收藏  举报