c# - 如果 null.Equals(null) 为什么我会得到 NullReferenceException

标签 c# null nullreferenceexception

我有以下代码行:

var selectedDomainID = lkuDomainType.EditValue.Equals(null) 
    ? string.Empty 
    : lkuDomainType.EditValue;

有时这会生成一个 NullReferenceException。我不明白的是为什么。我的代码的全部意义不是检查 null 并且如果是则分配 string.empty 吗?当我 checkin DEBUG 时,它说明 EditValue == null 那么我错过了什么?

最佳答案

使用 lkuDomainType.EditValue == null,否则您将尝试在空对象上调用实例方法。但更好的选择可能是 lkuDomainType.EditValue ??字符串.空。还要注意 lkuDomainType 是否为 null,除非它是类而不是对象。

关于c# - 如果 null.Equals(null) 为什么我会得到 NullReferenceException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3459748/

相关文章:

c# - Rijandeal 和特殊字符

java - Android JSONParser 中的 NullPointerException

c# - 对象初始化期间出现 NullReferenceException

Swift slider - fatal error : unexpectedly found nil while unwrapping an Optional value (lldb)

c# - Unity - 实例化对象上的 GetComponent 返回 Null

c# - Nhibernate 3 Linq 抛出 Antlr.Runtime.NoViableAltException

C# 等效于 C++ map<string,double>

c# - 异步编程实际上与同步编程总共花费相同的时间

java - 从 ResultSet 读取空值

PHP null 和写时复制