Как определить, является ли ссылка объекта нулевой?
Каков наилучший способ определить, является ли ссылочная переменная объекта null
?
Это следующее:
MyObject myObjVar = null;
if (myObjVar == null)
{
// do stuff
}
Ответы
Ответ 1
Да, вы правы, следующий фрагмент - это способ пойти, если вы хотите выполнить произвольный код:
MyObject myObjVar;
if (myObjVar == null)
{
// do stuff
}
BTW: ваш код не будет компилироваться так, как он есть сейчас, потому что к нему myObjVar
открывается, прежде чем он будет инициализирован.
Ответ 2
Вы можете использовать Object.ReferenceEquals
if (Object.ReferenceEquals(null, myObjVar))
{
.......
}
Это вернет true, если myObjVar имеет значение null.
Ответ 3
То, как вы делаете, это лучший способ
if (myObjVar == null)
{
// do stuff
}
но вы можете использовать оператор null-coalescing ??
для проверки, а также присвоить что-то
var obj = myObjVar ?? new MyObject();
Ответ 4
вы можете:
MyObject myObjVar = MethodThatMayOrMayNotReturnNull();
if (if (Object.ReferenceEquals(null, myObjVar))
{
// do stuff
}