可能很多同学和我一样对于select()和where()区别并不是太清晰,其实两者还是有本质区别的。

1、where()用法:必须加条件,且返回对象结果。

static void Main(string[] args)
   {

List<Person> listPerson = new List<Person>();
listPerson.Add(new Person { Name = "Alice", Address = "北京", Age = 30 });
listPerson.Add(new Person { Name = "Joe", Address = "上海", Age = 34 });
listPerson.Add(new Person { Name = "Cat", Address = "广州", Age = 24 });
listPerson.Add(new Person { Name = "Alan", Address = "深圳", Age = 26 });
listPerson.Add(new Person { Name = "Tom", Address = "重庆", Age = 28 });
listPerson.Add(new Person { Name = "Jarrey", Address = "天津", Age = 40 });

IEnumerable<Person> results = listPerson.Where(p => p.Name.Contains("a"));//必须加条件,返回对象

foreach(var item in results )
 {
        Console.WriteLine(item.Name);
 }

Console.WriteLine("按任意键可退出!");
      Console.ReadKey();
   }

结果:Cat Alan Jarrey。

Alice虽然也包含a但是是大写的A,所以输出结果是不会包含Alice。

2、select()用法:

(1)(a=>a.Value=="22")加条件查询时,返回bool型结果;

(2)(a=>a)没条件返回对象

(1)(a=>a.Value=="22")加条件查询时,返回bool型结果

static void Main(string[] args)
{
    string[] arrays={"asd","abc","bbb","ccc"};
    var results = arrays.Select(a => a.Contains("b"));//加条件查询时,返回bool型结果

foreach(var da in results )
    {
         Console.WriteLine(da);
    }

Console.WriteLine("按任意键可退出!");
   Console.ReadKey();
}

结果:False  True  True  False

(2)(a=>a)没条件返回对象

static void Main(string[] args)
{
    string[] arrays={"12","13","14","15"};
    var results = arrays.Select(a => a);//没条件,返回所有对象;

foreach(var da in results ) 
   {
        Console.WriteLine(da);
   }

Console.WriteLine("按任意键可退出!");
   Console.ReadKey();
}

结果:12 13 14 15

Lambda表达式select()和where()的区别的更多相关文章

  1. EF core 中用lambda表达式和Linq的一些区别

    转眼一看,又过了10几天没有写博客了,主要还是没有什么可以写的,因为遇到的问题都不是很有价值.不过最近发现用lambda表达式,比用Linq的代码量会少一些,而且也方便一些.不过两者都差不多,相差不是 ...

  2. lambda表达式和groovy闭包的区别

    groovy定义的闭包是 Closure 的实例,lambda表达式只是在特定的接⼝或者抽象类的匿名实现,他们之间最主要区别闭包可以灵活的配置代理策略⽽labmda表达式不允许

  3. C#基础:Lambda表达式

    从委托的角度来看,Lambda表达式与匿名方法没有区别.在[C#基础:匿名方法]一文中,我使用了匿名方法来调用List<T>的FindAll方法.从C# 3.0开始,在使用匿名方法的地方, ...

  4. 深入浅出 Java 8 Lambda 表达式

    摘要:此篇文章主要介绍 Java8 Lambda 表达式产生的背景和用法,以及 Lambda 表达式与匿名类的不同等.本文系 OneAPM 工程师编译整理. Java 是一流的面向对象语言,除了部分简 ...

  5. 委托-异步调用-泛型委托-匿名方法-Lambda表达式-事件【转】

    1. 委托 From: http://www.cnblogs.com/daxnet/archive/2008/11/08/1687014.html 类是对象的抽象,而委托则可以看成是函数的抽象.一个委 ...

  6. Java8 Lambda表达式详解手册及实例

    先贩卖一下焦虑,Java8发于2014年3月18日,距离现在已经快6年了,如果你对Java8的新特性还没有应用,甚至还一无所知,那你真得关注公众号"程序新视界",好好系列的学习一下 ...

  7. 转载:深入浅出 Java 8 Lambda 表达式

    原文地址:http://viralpatel.net/blogs/Lambda-expressions-java-tutorial/ OneAPM for Java 能够深入到所有 Java 应用内部 ...

  8. 为什么Java中lambda表达式不能改变外部变量的值,也不能定义自己的同名的本地变量呢?

    作者:blindpirate链接:https://www.zhihu.com/question/361639494/answer/948286842来源:知乎著作权归作者所有.商业转载请联系作者获得授 ...

  9. 浅析匿名函数、lambda表达式、闭包(closure)区别与作用

    浅析匿名函数.lambda表达式.闭包(closure)区别与作用 所有的主流编程语言都对函数式编程有支持,比如c++11.python和java中有lambda表达式.lua和JavaScript中 ...

随机推荐

  1. MySQL 5.7 并行复制

    一.缘由: 某天看到主从复制延时的告警有点频繁,就想着是不是彻底可以解决一下. 一般主从复制,有三个线程参与,都是单线程:Binlog Dump(主) ----->IO Thread (从) - ...

  2. dxRangeTrackBar使用教程

    Properties: Max:最大值 Min:最小值 Frequency:设置刻度值多大值显示PageSize:选择时跳动的区域大小 SelectionColor:选择区域颜色 ShowSelect ...

  3. 使用python实现日志功能

    Python脚本日志系统   Python通过logging模块提供日志功能,关于logging模块的使用网络上已经有很多详细的资料,这里要分享的是怎样在实际工程中使用日志功能. 假设要开发一个自动化 ...

  4. ansible实现keepalived和nginx高可用

    实验环境 ansible节点 keepalived+nginx节点1    ansible自动安装配置 keepalived+nginx节点2    ansible自动安装配置 httpd节点1 ht ...

  5. HP1020打印机“传递给系统调用的数据区域太小” 如何处理?

    如果电脑上曾经安装过 HP LaserJet 激光打印机的驱动程序,重新安装驱动程序之前,需要完全卸载以前安装的驱动程序,否则可能会出现无法找到设备或者安装不上驱动程序的现象. 安装网站下载的即插即用 ...

  6. python中的*arg和**kwargs

    arg对应多出来的位置参数,把它们解析成tuple;kwargs把关键字参数解析成dict. def example(pram): print(pram) def example2(param, *a ...

  7. HBase学习总结(1)

    HBase是一种数据库:HadoopDatabase顾名思义就是Hadoop数据库,它是一种基于hadoop文件系统HDFS的一种分布式数据库,专门设计用来快速随机读写大规模数据.本文介绍HBase的 ...

  8. Solutions_issues in pip

    pip fails ssl verification Solution: $ python -m pip <command> --trusted-host files.pythonhost ...

  9. Java Selenium - 元素操作 (三)

    接上一篇,我们依然以京东的网站做示例. 三,单选项 下面来做这样一条case: 1. 登录京东旅行网页. 2. 在国内机票板块,购买从北京到武汉的往返机票,时间为明天出发,一周后返回. 3.搜索机票. ...

  10. iOS 添加启动图片

    之前添加启动图片,一直都是通过添加LaunchImage来实现,见链接 http://www.cnblogs.com/jys509/p/4856068.html 这种方法,就需要给每个尺寸添加图片. ...