【发布时间】:2011-10-18 15:26:23
【问题描述】:
我发现自己写了很多这样的代码来选择一个匹配的项目
var item = (from x in Items where x.Id == 123 select x).First();
有没有一种更简洁的方法,或者这是否像我将要得到的那样简洁?
编辑:应该说“使用 linq 语法的更简洁的方式”。我已经知道 lambda 语法,并且开始看起来这实际上是唯一的方法。不过我确实得到了一些有用的信息,所以感谢所有回复的人。
【问题讨论】:
-
我个人避免
Single()和SingleOrDefault()如果我知道数据已经是唯一的(例如来自具有该约束的数据库等),因为Single()强制它扫描其余部分列表中找到可能的重复项,但这就是我。如果此时需要强制执行唯一性,请使用Single()family,如果不需要,请使用First()family。