如何在firstordefault()之前检查列表是否为空
本文关键字:列表 检查 是否 firstordefault | 更新日期: 2023-09-27 18:08:11
我想检查List<Product> _product
结果在firstordefault()
之前为null或空代码如下:
product = GetDetails(new List<IProduct> { product }, DetailsRS).FirstOrDefault()
有谁能建议如何解决这个问题?
如果列表为空 - 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();
}
简体:
var foo = list?.FirstOrDefault();