我想在List<Product> _product
之前检查firstordefault()
结果为空或为空
这是代码。
product = GetDetails(new List<IProduct> { product }, DetailsRS).FirstOrDefault()
任何人都可以建议如何解决此问题。
答案 0 :(得分:6)
如果列表为空并不重要 - FirstOrDefault
完全没问题。有趣的问题是它是否 null 。当我们等待C#6(希望在这里提供一些伏都教)时,我们可以使用:
var foo = list == null ? null : list.FirstOrDefault();
您甚至可以为此创建一种新的扩展方法,即
var foo = list.NullSafeFirstOrDefault();
使用:
public static T NullSafeFirstOrDefault<T>(this IEnumerable<T> source) {
return source == null ? default(T) : source.FirstOrDefault();
}