Linq To List 集合查询

     //Linq对集合的各种查询
      public static void Run()
      {
          List<Customers> customerlist = new List<Customers>();
          customerlist.Add(new Customers() { id = 1, Name = "Jack", Custom = "Mis" });
          customerlist.Add(new Customers() { id = 2, Name = "Lus", Custom = "Google" });
          customerlist.Add(new Customers() { id = 3, Name = "Qiao", Custom = "Baidu" });
          customerlist.Add(new Customers() { id = 4, Name = "Qiao", Custom = "Apple" });
          customerlist.Add(new Customers() { id = 5, Name = "Adb", Custom = "Adobe" });
 
          //简单的查询
          var customerQuery = from query in customerlist
                              select query;
 
          //带where筛选
          var customerWhereQuery = from query in customerlist
                                   where query.id == 1 && query.Name == "Lus"
                                   select query;
 
          //排序Ordering
          var customerOrderingQuery = from query in customerlist
                                      where query.Name == "Lus"
                                      orderby query.id ascending
                                      select query;
 
          //分组Group by
          var customerGroupbyQuery = from query in customerlist
                                     group query by query.Name;
          //可以使用into进一步查询
          var customerGroupbyIntoQuery = from query in customerlist
                                         group query by query.Name into queryGroup
                                         where queryGroup.Key == "Qiao"
                                         select queryGroup;
          //联接查询 join 子句始终针对对象集合而非直接针对数据库表运行。
          List<Customers> customerJoinlist = new List<Customers>();
          customerJoinlist.Add(new Customers() { id = 1, Name = "Jack", Custom = "Mis" });
          customerJoinlist.Add(new Customers() { id = 2, Name = "Lus", Custom = "Google" });
          customerJoinlist.Add(new Customers() { id = 3, Name = "Qiao", Custom = "Baidu" });
          var customerJoinQuery = from query1 in customerlist
                                  join query2 in customerJoinlist
                                  on query1.id equals query2.id
                                  select new { CustomerName = query1.Name, CustomerName2 = query2.Name };
 
          //数据源的类型参数始终为查询中的范围变量的类型。
          //比如List<Customers> 类型为Customers 在循环迭代的时候类型必须可以隐式转换为Customer 有一种情况是
          //这种情况下Customers类型转换为了String ..在select query.Name已经将查询目标类型定位了String类型
          var customerTypeQuery = from query in customerlist
                                  where query.Name == "Lus"
                                  select query.Name;
 
          //结合Lamdba对List集合筛选(s => s.Name == "Qiao")
          List<Customers> listString = customerlist.Where(s => s.Name == "Qiao").ToList();
 
 
      }
  }
 
  public class Customers
  {
      public int id { get; set; }
 
      public string Name { get; set; }
 
      public string Custom { get; set; }
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值