.net Return null for FirstOrDefault() on empty IEnumerable< int>?

xcitsw88  于 2022-12-14  发布在  .NET
关注(0)|答案(2)|浏览(115)

假设我有以下代码片段:

int? nullableId = GetNonNullableInts().FirstOrDefault();

因为GetNonNullableInts()返回整数,所以FirstOrDefault将默认为0
当整数列表为空时,是否有办法使该列表上的FirstOrDefault返回一个null值?

91zkwejq

91zkwejq1#

int? nullableId = GetNonNullableInts().Cast<int?>().FirstOrDefault();
lrpiutwd

lrpiutwd2#

FirstOrDefault依赖于来自IEnumerable<T>T来知道返回什么类型,这就是为什么您接收的是int而不是int?
因此,在返回任何值之前,您需要将项目强制转换为int?,就像Matt所说的那样

相关问题