繁体   English   中英

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

[英]How to determine whether object reference is null?

确定对象引用变量是否为null的最佳方法是什么?

是以下吗?

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

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

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

顺便说一下:你的代码不会像现在这样编译,因为myObjVar在初始化之前就被访问了。

你的方式是最好的方式

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

但你可以使用null-coalescing运算符 ?? 检查,以及分配一些东西

var obj  = myObjVar ?? new MyObject();

您可以使用Object.ReferenceEquals

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

如果myObjVar为null,则返回true。

您可以:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM