lambda表达式中的Select和Where的区别?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lambda表达式中的Select和Where的区别?相关的知识,希望对你有一定的参考价值。

Select()操作符:可以将序列中的每个元素投影到新表中,即取出哪些属性(字段),其实和sql中的select差不多的意思。

Where()操作符:是用于对序列中的元素进行过滤和筛选,类似sql中是where字句

例如:

技术分享图片

注意:Select()对每一条数据进行投影到一张新的表中 

new {p.Name}  使用了匿名类,该匿名类中只包含原表中的Name字段,相当与取Name字段,和sql中的select查询一样

技术分享图片

总结:Where()操作符是用于过滤用的,和sql中的where字句一样。

那如果此时想查询出年龄为18岁的人的姓名(也就是说此时只要Name字段),该怎么写?

技术分享图片



以上是关于lambda表达式中的Select和Where的区别?的主要内容,如果未能解决你的问题,请参考以下文章

LAMBDA表达式常用 (全)

Lambda表达式大全—史上最

Lambda 表达式中的多个 Where 子句

WHERE 子句中的 Lambda 表达式未按预期工作

Lambda表达式中 select 怎么动态添加查询字段

Linq Where() lambda 表达式中的“或”等价物