Подтвердить что ты не робот

Как определить, является ли ссылка объекта нулевой?

Каков наилучший способ определить, является ли ссылочная переменная объекта null?

Это следующее:

MyObject myObjVar = null;
if (myObjVar == null)
{
    // do stuff
}
4b9b3361

Ответ 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
}