问题
What is the best way to determine whether an object reference variable is null
?
Is it the following?
MyObject myObjVar = null;
if (myObjVar == null)
{
// do stuff
}
回答1:
Yes, you are right, the following snippet is the way to go if you want to execute arbitrary code:
MyObject myObjVar;
if (myObjVar == null)
{
// do stuff
}
BTW: Your code wouldn't compile the way it is now, because myObjVar
is accessed before it is being initialized.
回答2:
The way you are doing is the best way
if (myObjVar == null)
{
// do stuff
}
but you can use null-coalescing operator ??
to check, as well as assign something
var obj = myObjVar ?? new MyObject();
回答3:
You can use Object.ReferenceEquals
if (Object.ReferenceEquals(null, myObjVar))
{
.......
}
This would return true, if the myObjVar is null.
回答4:
you can:
MyObject myObjVar = MethodThatMayOrMayNotReturnNull();
if (if (Object.ReferenceEquals(null, myObjVar))
{
// do stuff
}
来源:https://stackoverflow.com/questions/12000228/how-to-determine-whether-object-reference-is-null