如何确定对象引用是否为空?

时间:2012-08-17 05:26:08

标签: c# object null visual-studio-2005 object-reference

确定对象引用变量是null

的最佳方法是什么?

是以下吗?

MyObject myObjVar = null;
if (myObjVar == null)
{
    // do stuff
}

5 个答案:

答案 0 :(得分:10)

是的,你是对的,如果你想执行任意代码,下面的代码片段是要走的路:

MyObject myObjVar; 
if (myObjVar == null) 
{ 
    // do stuff 
} 

BTW:你的代码不会按照现在的方式进行编译,因为在myObjVar被初始化之前就会访问它。

答案 1 :(得分:7)

你正在做的事情是最好的方式

if (myObjVar == null)
{
    // do stuff
}

但您可以使用null-coalescing operator ??进行检查,以及分配内容

var obj  = myObjVar ?? new MyObject();

答案 2 :(得分:7)

您可以使用Object.ReferenceEquals

if (Object.ReferenceEquals(null, myObjVar)) 
{
   ....... 
} 

如果myObjVar为null,则返回true。

答案 3 :(得分:3)

你可以:

MyObject myObjVar = MethodThatMayOrMayNotReturnNull();
if (if (Object.ReferenceEquals(null, myObjVar)) 
{
    // do stuff
}

答案 4 :(得分:0)

C# 7.0 中,您可以使用 is null

MyObject myObjVar = null;
if (myObjVar is null)
{
    // do stuff
}