Начиная с C# 6.0 в языке появился оператор условного null (Null-Conditional Operator) или, как его нередко называют, элвис-оператор тоесть ?.
Оператор ? позволяет упростить проверку на значение null в условных конструкциях.
C#
Классы
class User
{
public Phone Phone { get; set; }
}
class Phone
{
public Company Company { get; set; }
}
class Company
{
public string Name { get; set; }
}
C#
Инициализация и оператор ?
// инициализация
User user = new User();
user.Phone = new Phone { Company = new Company { Name = "Samsung" } };
// проверяем с if
if (user!=null)
{
if (user.Phone!=null)
{
if (user.Phone.Company != null)
{
string companyName = user.Phone.Company.Name;
Console.WriteLine(companyName);
}
}
}
// проверяем с опетатором ?
string companyName = user?.Phone?.Company?.Name;