选择与LINQ中的位置之间的区别

时间:2012-02-27 09:58:59

标签: c# linq

  

可能重复:
  Linq: What is the difference between Select and Where

之间有什么区别
var a = Doc.Document.Where(n => n.Id == id).SingleOrDefault(); 

var b = Doc.Document.Select(n => n.Id == id).SingleOrDefault();

为什么变量b是布尔值?

对于我的无知感到抱歉,我是LINQ的新手。

1 个答案:

答案 0 :(得分:11)

Where根据谓词过滤一系列值。因此,在第一个示例中,您将从列表中选择函数n.Id == id为真的元素。

Select将序列的每个元素投影到一个新表单中,因此在第二个示例中,您将获得一个布尔值列表,这是每个元素上函数n.Id == id的结果。