zoukankan      html  css  js  c++  java
  • LINQ-let子句、join子句

    1.Let子句

      let子句用于在LINQ表达式中存储子表达式的计算结果,既let子句创建一个范围变量来存储结果,变量被创建后,不能修改或把其他表达式的结果重新赋值给它。此范围变量可以在后续的LINQ中使用

       

     static void Main(string[] args)
            {
    
    
                //数据源
                List<Custom> my = new List<Custom>()
                {
                    new Custom() {name="杜伟",Age=30,Table="13166856811" },
                    new Custom() { name="王玥",Age=33,Table="1259445545"}
                };
    
                var query = from a in my
                            //这里面的g存储的是杜和王
                            let g = a.name.Substring(0, 1)
                           
                            //select g;
                            select a;
    
                foreach (var item in query)
                {
                    Console.WriteLine("姓名{0},姓名{1},电话{2}",item.name,item.Age,item.Table);
                    //Console.WriteLine(item);
    
                }
                Console.ReadKey();
            }
    //where customer.Name.Substring(0, 1) == "郭" || customer.Name.Substring(0, 1) =="黄"

    2.Join子句

      Join子句用来连接两个数据源,即设置两个数据源之间的关系,join子句支持一下3中常见连接方式。

        内部连接:要求两个数据源都必须存在相同的值,即两个数据源必须存在满足连接关系的元素,类似于SQL语句中的inner Join 子句。

        分组连接:包含into子句的join子句。

        左外部连接:元素的连接关系必须满足连接中的左数据源,类似于SQL语句中的left Join子句。

      实例:

      

    static void Main(string[] args)
            {
                //定义两个数据源
                int[] arr = { 0,1,2,3,4,5,6,7,8,9};
                int[] arr1 = {2,4,6,8 };
    
                var quey = from a in arr
                           //内连接。根SQL一样 只是多了一个equals(相等,同样的)
                           join b in arr1 on a equals b
                           where a > 7
                           select a;
    
                foreach (var item in quey)
                {
                    Console.WriteLine(item);
                }
                Console.ReadKey();
                    
            }

          

  • 相关阅读:
    centos7.6 使用yum安装mysql5.7
    解决hadoop本地库问题
    docker-compose 启动警告
    docker 安装zabbix5.0 界面乱码问题解决
    docker 部署zabbix问题
    zookeeper 超时问题
    hbase regionserver异常宕机
    (转载)hadoop 滚动升级
    hadoop Requested data length 86483783 is longer than maximum configured RPC length
    zkfc 异常退出问题,报错Received stat error from Zookeeper. code:CONNECTIONLOSS
  • 原文地址:https://www.cnblogs.com/xiaowie/p/9448447.html
Copyright © 2011-2022 走看看