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 @   张小然  阅读(302)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示