Ada*_*dam 1 c# nullreferenceexception
当我尝试检查某些内容是否为空时,我一直收到空引用错误.我有一个名为User的类,我像这样初始化变量indvUser
User indvUser = api.Users.SearchByExternalId(session.UserInfo.UserId.ToString())
.Users.FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
然后我想检查indvUser是否为null
if (indvUser.Equals(null))
{
int a = 1;
}
Run Code Online (Sandbox Code Playgroud)
但是在使用时我得到一个空引用错误Equals(null),我不明白.如果它实际上是null,即没有值,不应该Equals(null)返回true?
因为indvUser是null,并且indvUser.Equals是User对象的实例方法(即,它需要对象的非null实例),.NET将抛出您尝试使用它的错误.
对于这样的事情,你可以使用这个:
Object.ReferenceEquals(indvUser, null)
Run Code Online (Sandbox Code Playgroud)
或者干脆:
indvUser == null
Run Code Online (Sandbox Code Playgroud)
由于这些方法都没有实际尝试访问indvUser对象本身的方法或属性,因此您应该是安全的NullReferenceExceptions
| 归档时间: |
|
| 查看次数: |
90 次 |
| 最近记录: |