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

可能重复:
Linq:Select和Where有什么区别

有什么区别

var a = Doc.Document.Where(n => n.Id == id).SingleOrDefault(); 

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

为什么变量b是布尔值?

抱歉我的无知,我是LINQ的新手。

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

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