当我FirstOrDefault()在整数或布尔值的空列表上使用时,我得到0orfalse而不是null。
我知道这是设计使然,因为它会返回default(T),但我如何强制它返回呢null?
var emptyList = new List<int>();
emptyList.FirstOrDefault() == 0; // I want to receive null instead
要使FirstOrDefault(),LastOrDefault()或SingleOrDefault()返回null作为值列表(而不是引用)上的默认值:
使用 来将元素强制转换IEnumerable<T>.Cast<T?>()为可为空。
var emptyList = new List<int>();
emptyList.FirstOrDefault() == 0;
emptyList.Cast<int?>().FirstOrDefault() == null;
IEnumerable<T>.FirstOrDefault()default(T)当没有结果时
会返回。default(T)例如int0null,如default(int?) == null.| 归档时间: | 
 | 
| 查看次数: | 2501 次 | 
| 最近记录: |