oje*_*jek 4 .net c# entity-framework ef-code-first
当我用.FirstOrDefault方法查询数据库时,我该如何处理它给我的结果?我特别关注空值,目前我有类似的东西:
if (result == default(TypeOfResult))
{
handleIt();
}
Run Code Online (Sandbox Code Playgroud)
但我不知道这是什么"默认",所以我想知道这样做是不是更好:
if (result == null)
{
handleIt();
}
Run Code Online (Sandbox Code Playgroud)
哪一个会起作用?这究竟是什么"默认"?
FirstOrDefault 将返回序列中的第一个元素或字面上相关类型的默认值.
因此,根据您查询的内容,默认值可能会发生变化.例如,集合int的中default值是0,所以,检查是否null是行不通的.
考虑:
List<int> s = new List<int>();
var x = s.FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
这x等于0
参考类型怎么样?
List<MyCustomClass> s = new List<MyCustomClass>();
var x = s.FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
这x将是null
这可能是两种方法中较好的一种:
if (result == default(TypeOfResult))
{
handleIt();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
942 次 |
| 最近记录: |