确定对象引用变量是否为 的最佳方法是null
什么?
是以下吗?
MyObject myObjVar = null;
if (myObjVar == null)
{
// do stuff
}
确定对象引用变量是否为 的最佳方法是null
什么?
是以下吗?
MyObject myObjVar = null;
if (myObjVar == null)
{
// do stuff
}
是的,你是对的,如果你想执行任意代码,下面的代码片段是要走的路:
MyObject myObjVar;
if (myObjVar == null)
{
// do stuff
}
顺便说一句:你的代码不会像现在这样编译,因为myObjVar
在它被初始化之前就被访问了。
您可以使用 Object.ReferenceEquals
if (Object.ReferenceEquals(null, myObjVar))
{
.......
}
如果 myObjVar 为空,这将返回 true。
你正在做的方式是最好的方式
if (myObjVar == null)
{
// do stuff
}
但是您可以使用空合并运算符 ??
进行检查以及分配某些内容
var obj = myObjVar ?? new MyObject();
你可以:
MyObject myObjVar = MethodThatMayOrMayNotReturnNull();
if (if (Object.ReferenceEquals(null, myObjVar))
{
// do stuff
}
在C# 7.0
你可以使用is null
:
MyObject myObjVar = null;
if (myObjVar is null)
{
// do stuff
}