使Linq返回对象或null

时间:2009-10-29 11:49:17

标签: linq

如果没有找到对象,有没有办法让下面的代码返回null?

var news = (from c in childs
where c.Name.ToLower().Contains("folder")
select c).First();

2 个答案:

答案 0 :(得分:7)

您想使用FirstOrDefault()而不是First()。它会完全符合您的要求。

答案 1 :(得分:5)

您应该致电FirstOrDefault<T>,如果没有元素,则会返回default(T)

default(T)null用于参考和可空类型,0用于数字类型(byteintdouble等)和new T()用于结构(不能是null