相关疑难解决方法(0)

检查C#中的对象是否为null

我想阻止对象的进一步处理,如果它是null.

在下面的代码中,我通过以下任一方法检查对象是否为null:

if (!data.Equals(null))
Run Code Online (Sandbox Code Playgroud)

if (data != null)
Run Code Online (Sandbox Code Playgroud)

不过,我收到NullReferenceExceptiondataList.Add(data).如果对象为null,则它应该永远不会进入if-statement!

因此,我问这是否是检查对象是否为null的正确方法:

public List<Object> dataList;
public  bool AddData(ref Object data)
    bool success = false;
    try
    {
        // I've also used "if (data != null)" which hasn't worked either
        if (!data.Equals(null))
        {
           //NullReferenceException occurs here ...
           dataList.Add(data);
           success = doOtherStuff(data);
        }
    }
    catch (Exception e)
    {
        throw new Exception(e.ToString());
    }
    return success;
}
Run Code Online (Sandbox Code Playgroud)

如果这是检查对象是否为null的正确方法,那么我做错了什么(如何防止对对象进一步处理以避免NullReferenceException)?

c# null nullreferenceexception

196
推荐指数
11
解决办法
78万
查看次数

标签 统计

c# ×1

null ×1

nullreferenceexception ×1