zoukankan      html  css  js  c++  java
  • linq

    概述:
        C# 3.0中加入的最为复杂的特性就是Linq查询表达式了,这使我们可直接采用类似于SQL的语法对集合进行查询,这就使我们可以享受到关系数据查询的强大功能
    实例代码:
      public static void Main()
                
    {
                    
    // 定义匿名数组persons, 并为其赋初值
                     var persons = new[] {
                         
    new { Name="Terry", Sex=false, Age=22 },
                        
    new { Name="Martin", Sex=true, Age=30 },
                         
    new { Name="Jerry", Sex=false, Age=24 },
                        
    new { Name="Brog", Sex=false, Age=25 },
                        
    new { Name="Tom", Sex=true, Age=20 }
                   }
    ;
         
         
                  
    /*
                       执行简单Linq查询
         
                        检索所有年龄在24岁以内的人
                        查询结果放在results变量中
        
                        results变量的类型与数组persons相同                
                   
    */

                   var results 
    = from p in persons
                                  where p.Age 
    <= 24
                                select p;
         
                   
    foreach (var person in results)
                    
    {
                      Console.WriteLine(person.Name);
                    }

         
                    Console.WriteLine();
         
       
                    
    // 定义匿名数组customers, 并为其赋初值
                    
    // 该数组是匿名类型的
                    var customers = new[] {
                        
    new {
                            Name
    ="Terry", City="China", Orders=new[] {
                               
    new {
                                   OrderNo
    =0,
                                   OrderName
    ="C# Programming Language(Second Edition)",
                                    OrderDate
    =new DateTime(2007,95)
                               }
    ,
                               
    new {
                                    OrderNo
    =1,
                                    OrderName
    ="Head First Design Patterns(Chinese Edition)",
                                   OrderDate
    =new DateTime(2007,9,15)
                                }
    ,
                              
    new {
                                    OrderNo
    =2,
                                   OrderName
    ="ASP.NET Unleashed 2.0(Chinese Edition)",
                                   OrderDate
    =new DateTime(2007,09,18)
                             }
    ,
                             
    new {
                                  OrderNo
    =3,
                                   OrderName
    ="The C++ Programming Langauge(Special Edition)",
                                    OrderDate
    =new DateTime(2002920)
                               }

                           }

                      }
    ,
                       
    new {
                            Name
    ="Brog", City="China", Orders=new[] {
                                
    new {
                                   OrderNo
    =0,
                                    OrderName
    ="C# Programming Language(Second Edition)",
                                   OrderDate
    =new DateTime(2007915)
                                }

                            }

                       }
    ,
                       
    new {
                           Name
    ="Vicky", City="London", Orders=new[] {
                                
    new { OrderNo=0,
                                    OrderName
    ="C++ Programming Language(Special Edition)",
                                   OrderDate
    =new DateTime(2007920)
                                }

                            }

                        }

                    }
    ;
         
         
                    
    /*
                        执行多重Linq查询
         
                        检索所在城市为中国, 且订单日期为2007年以后的所有记录
                        查询结果是一个匿名类型的数组
                        其中包含客户名, 订单号, 订单日期, 订单名四个字段
                   
    */

                   var someCustomers 
    = from c in customers
                                        where c.City 
    == "China"
                                        from o 
    in c.Orders
                                        where o.OrderDate.Year 
    >= 2007
                                        select 
    new { c.Name, o.OrderNo, o.OrderDate, o.OrderName };
         
        
                    
    foreach (var customer in someCustomers)
                    
    {
                        Console.WriteLine(
                           customer.Name 
    + "" + customer.OrderName + ",  " +
                          customer.OrderDate.ToString(
    "D")
                       );
                   }

               }

    运行结果:
        
  • 相关阅读:
    Redis使用手册
    log4j.properties 输出指定类日志
    Maven中Jar包冲突,不让某个Jar包打入到工程中
    Cannot refer to the non-final local variable user defined in an enclosing scope
    PANIC: Missing emulator engine program for ‘x86’ CPU.
    Android studio 不能创建Activity等文件
    jenkins打maven包,出现Module Builds里面部分模块没有启动问题
    CentOS7 SFTP服务安装和使用
    记一次阿里云服务器被挖矿程序植入处理(简单记录下)
    利用阿里云高可用虚拟ip+keepalived+mha实现两台mysql的高可用
  • 原文地址:https://www.cnblogs.com/abcdwxc/p/967342.html
Copyright © 2011-2022 走看看