gpt4 book ai didi

c# - 为什么在C#中使用something.Equals(null)时会出现空引用错误

转载 作者:太空宇宙 更新时间:2023-11-03 17:52:26 27 4
gpt4 key购买 nike

当我尝试检查某些内容是否为null时,我不断收到null引用错误。我有一个名为User的类,并且像这样初始化变量indvUser

User indvUser = api.Users.SearchByExternalId(session.UserInfo.UserId.ToString())
.Users.FirstOrDefault();


然后我想检查indvUser是否为null

if (indvUser.Equals(null))
{
int a = 1;
}


但是我不理解使用 Equals(null)时出现空引用错误。如果实际上为null,即没有值, Equals(null)是否不应该返回true?

最佳答案

由于indvUsernull,并且indvUser.EqualsUser对象上的实例方法(即,它需要对象的非空实例),. NET将抛出您尝试使用它的错误。

对于这样的事情,您可以使用以下代码:

Object.ReferenceEquals(indvUser, null)


或者简单地:

indvUser == null


由于这两种方法均未实际尝试访问 indvUser对象本身的方法或属性,因此应避免使用 NullReferenceExceptions

关于c# - 为什么在C#中使用something.Equals(null)时会出现空引用错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20642607/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com