当我使用以下代码时,出现对象引用错误,这可能是因为没有匹配“spider”。我的问题是,如何在这些情况下,检查空值对象引用在使用FirstOrDefault时未设置为对象错误的实例
int fooID = foos.FirstOrDefault(f => f.Bar == "spider").ID;
我使用不同的条件下,这种相同的情况下从列表中获取不同的项目,如
int fooID = foos.FirstOrDefault(f => f.Bar == "spider").ID;
String fooDescription = foos.FirstOrDefault(f => f.Sides == "Cake").Description;
是否有任何其他方式检查空值。
同样值得注意:检查是否foos'''是或null'没有(除非你是绝对肯定它不能是'null') – Nolonar
同样重要的是要知道'null'是不是您从FirstOrDefault返回的唯一值,这取决于您正在使用的类型。 http://msdn.microsoft.com/en-gb/library/xwth0h0d(v=vs.80).aspx – Arran
如果查询包含0个元素,也有时可以获得0(默认的int值)。它可以这样做: 'int fooID = foos.Where(f => f.Bar ==“spider”)。Select(f => f.ID).FirstOrDefault();' –