zoukankan      html  css  js  c++  java
  • C# LINQ(4)

    where作为LINQ的条件关键字。

    where的右面是表达式

    表达式可以方法返回值,但是where的右面最终是一个可检测真假的表达式

    代码:

              static void Main(string[] args)
               {
                var NumArray = new[] {0,1,2,3,4,5,6,7,8,9 };
    
                var list = from i in NumArray
    
                           where IsMethod(i)
    
                           group i by i<4 into iList
    
                           from max in iList
    
                           where max<2
    
                           select max;
    
    
    
                foreach (var item in list)
                {
                    Console.Write($"{item}");                
                }
                Console.ReadKey();
            }
    
            private static bool IsMethod(int i)
            {
                return i>0&&i<4;
            }

    本代码中第一次表达式中使用了方法的返回值。

    另外where可以出现多次,几乎是不限制位置。

    但是除了select的后面或者group作为结尾的后面,因为他们的LINQ的结尾。也不能做为LINQ的起手。

    比如:

      var list = from i in NumArray
    
                           where i>0
    
                           where i<5
    
                           group i by i<4 into iList
    
                           from max in iList
    
                           where max<2
    
                           select max;

    一个复杂的条件拆分成简单的条件,虽然代码看起来很新手,但是易读性确实很高。

  • 相关阅读:
    docker 部署 禅道系统
    docker 部署 jenkins
    运筹方法
    软件工程基础知识
    操作系统知识
    程序设计语言基础知识
    计算机组成与配置
    oracle触发器
    性能测试监控工具的使用
    数据库设计范式
  • 原文地址:https://www.cnblogs.com/T-ARF/p/9228925.html
Copyright © 2011-2022 走看看