当我使用 .FirstOrDefault
方法查询数据库时,我如何处理它给我的结果?我特别关心空值,目前我有这样的事情:
if (result == default(TypeOfResult))
{
handleIt();
}
但我不完全知道这个“默认”是什么,所以我想知道这样做是否更好:
if (result == null)
{
handleIt();
}
哪一个会起作用?而这个“默认”究竟是什么?
最佳答案
FirstOrDefault
将返回序列中的第一个元素或字面上所讨论类型的默认值。
因此,根据您查询的内容,默认值可能会发生变化。例如,int
的集合的 default
值将为 0。因此,检查 null
是否不起作用。
考虑:
List<int> s = new List<int>();
var x = s.FirstOrDefault();
这里
x
将等于0
引用类型怎么样?
List<MyCustomClass> s = new List<MyCustomClass>();
var x = s.FirstOrDefault();
这里
x
将是 null
这可能是两种方法中更好的一种:
if (result == default(TypeOfResult))
{
handleIt();
}
关于c# - 我如何处理 .FirstOrDefault 方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12095649/