查询表达式理解

            List<Product> p = new List<Product>();
            p.Add(new Product() { Id = 11, Name = "asd" });
            p.Add(new Product() { Id = 13, Name = "asddd" });
            p.Add(new Product() { Id = 14, Name = "asdsss" });
            p.Add(new Product() { Id = 15, Name = "xxx" });
            p.Add(new Product() { Id = 16, Name = "cccc" });
            p.Add(new Product() { Id = 17, Name = "a ccsd" });
            IEnumerable<Product> list2 = from x in p where x.id>14 select x;
            List<Product> list3= list2.ToList();//筛选结果查询表达式
           
            List<Product> list4=p.FindAll(x=>x.id>14);//平时直接使用的。



如上筛选;

项目中以前一直使用的是C#,List封装的自带方法List.FindAll()。或者直接用循环来判断筛选。

今天翻书看到这种查询表达式。之前没有接触过。就记录下。

主要理解不难。

格式

from x in 数据源 where (条件) select x

按书上说说明是:

from 声明了一个范围变量x,in后面为数据源,where 后面是帅选的依据,select 是要取的值。

一开始from 声明了一个范围变量x,这句话一直不理解。

直到和拉姆达表达式对比了下。我把他理解为匿名那个X了。在这个列子里应该是Product这个类。

select 取值 在这里X 是返回所有的Product ,换成x.id,那返回的就是int的数组了。


其他还有orderby groupby 等等语句。这些和sql 语句都是差不多的。大同小异。

这个查询表达式还能和方法调用可以混用。

就相当于后面还能使用集合自带的那些方法。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值