Cleaner способ сделать нулевую проверку в C #? [Дубликат]
На этот вопрос уже есть ответ:
C # элегантный способ проверить, является ли свойство свойства нулевым 21 ответПредположим, у меня есть этот интерфейс,
interface IContact
{
IAddress address { get; set; }
}
interface IAddress
{
string city { get; set; }
}
class Person : IPerson
{
public IContact contact { get; set; }
}
class test
{
private test()
{
var person = new Person();
if (person.contact.address.city != null)
{
//this will never work if contact is itself null?
}
}
}
Person.Contact.Address.City != null
(Это работает, чтобы проверить, является ли Город нулевым или нет.)
Однако эта проверка не выполняется, если адрес, контакт или само лицо имеют значение null.
В настоящее время я мог придумать одно решение:
if (Person != null && Person.Contact!=null && Person.Contact.Address!= null && Person.Contact.Address.City != null)
{
// Do some stuff here..
}
Есть ли более чистый способ сделать это?
Мне действительно не нравитсяnull
проверь как(something == null)
. Вместо этого есть еще один хороший способ сделать что-то вродеsomething.IsNull()
метод?