Как определить, является ли ссылка объекта нулевой? Каков наилучший способ определить, является ли ссылочная переменная объекта 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 }
Ответ 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 }