Как лучше всего определить, является ли ссылочная переменная объекта null
?
Это следующее?
MyObject myObjVar = null;
if (myObjVar == null)
{
// do stuff
}
Как лучше всего определить, является ли ссылочная переменная объекта null
?
Это следующее?
MyObject myObjVar = null;
if (myObjVar == null)
{
// do stuff
}
Да, вы правы, следующий фрагмент — это путь, если вы хотите выполнить произвольный код:
MyObject myObjVar;
if (myObjVar == null)
{
// do stuff
}
Кстати: ваш код не будет компилироваться так, как сейчас, потому что доступ к myObjVar
осуществляется до его инициализации.
Вы можете использовать Object.ReferenceEquals
if (Object.ReferenceEquals(null, myObjVar))
{
.......
}
Это вернет true, если myObjVar имеет значение null.
==
, то я думаю, что Object.ReferenceEquals
необходимо.
- person bronzenose; 19.09.2020
То, как вы делаете, это лучший способ
if (myObjVar == null)
{
// do stuff
}
но вы можете использовать оператор объединения с нулевым значением ??
для проверки, а также назначить что-либо
var obj = myObjVar ?? new MyObject();
Вы можете:
MyObject myObjVar = MethodThatMayOrMayNotReturnNull();
if (if (Object.ReferenceEquals(null, myObjVar))
{
// do stuff
}
В C# 7.0
вы можете использовать is null
:
MyObject myObjVar = null;
if (myObjVar is null)
{
// do stuff
}
MyObject obj = myObjVar ?? DefaultObjVar
- person Mohamed Nuur   schedule 17.08.2012