LinQ表达式的一点点总结

LinQ的所有操作就是基于可迭代对象的操作的,最简单的当然是数组的处理

  //第一个例子:最简单的例子

             String[] strs = {"zhangran","zhangxiaoran","xiaozhangran","ranxiaozhang","ranzhangxiao","xiaoxiaoran" };
             var index = from n in strs
                         where n.StartsWith("z")//where 是限制运算符
                         select n;//select 这是必选的
             foreach(String i in index)
             {
                 Console.WriteLine(i);
             }
             Console.ReadKey();
 //上面例子的变种用方法来实现查询
            String[] strs = { "zhangran", "zhangxiaoran", "xiaozhangran", "ranxiaozhang", "ranzhangxiao", "xiaoxiaoran" };
            var index = strs.Where(n=>n.StartsWith("z"));
            foreach (String i in index)
            {
                Console.WriteLine(i);
            }

            Console.ReadKey(); 

  //第二个例子:对查找结果进行排序
            /*String[] strs = {"zhangran","zangxiaoran","zixiaozhangran","ranxiaozhang","ranzhangxiao","xiaoxiaoran" };
            var index = from n in strs
                        where n.StartsWith("z")
                        orderby n//其它的选择 orderby descending ,orderby n.Substring(n.Length-1)
                        select n;
            foreach(String i in index)
            {
                Console.WriteLine(i);
            }
            Console.ReadKey();
            */
            //对上面的变种:用方法实现排序
            /*  String[] strs = { "zhangran", "zangxiaoran", "zixiaozhangran", "ranxiaozhang", "ranzhangxiao", "xiaoxiaoran" };
            //var index = strs.OrderBy(n=>n).Where(n=>n.StartsWith("z"));
            //var index = strs.OrderByDescending(n => n).Where(n => n.StartsWith("z"));
              var index = strs.OrderBy(n=>n.Substring(n.Length-1)).Where(n => n.StartsWith("z"));
              foreach(String i in index)
              {
                  Console.WriteLine(i);
              }
              Console.ReadKey();

              */ 

 

  //聚合运算符的使用

            /*
            int [] ints = {1,2,3,4,5,6,7,8,9};
            var index = from n in ints
                        where n>1
                        select n;
            //此处不再是foreach遍历
            Console.WriteLine(index.Count());
            Console.WriteLine(index.Average());
            Console.WriteLine(index.Min());
            Console.WriteLine(index.Max());
            Console.WriteLine(index.Sum(n =>n+1));
            Console.ReadKey();
            */

 

posted @ 2012-03-25 14:59  张小然  阅读(301)  评论(0编辑  收藏  举报