确定对象引用变量是null
?
是以下吗?
MyObject myObjVar = null;
if (myObjVar == null)
{
// do stuff
}
答案 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
}