如果我知道集合中只有一个匹配的项目,是否有任何方法可以告诉Linq这样,以便在找到它时中止搜索?
我假设这两个在返回一个项目之前搜索完整的集合?
var fred = _people.Where((p) => p.Name == "Fred").First();
var bill = _people.Where((p) => p.Name == "Bill").Take(1);
Run Code Online (Sandbox Code Playgroud)
编辑:人们似乎注意到FirstOrDefault,或SingleOrDefault.这些与我的问题无关.如果集合为空,它们只是提供默认值.正如我所说,我知道我的收藏品有一个匹配的项目.
AakashM的评论对我来说最感兴趣.我觉得我的假设是错的,但我很感兴趣.例如,当linq to objects在我的示例代码中运行Where()函数时,它如何知道对其返回值有进一步的操作?