[英]overload == (and != , of course) operator, can I bypass == to determine whether the object is null
[英]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.