Из Си, PHP, и пр. ЯП мы знаем короткую запись типа результат = условие ? значение1 : значение2, так-же знаем if(переменная), или if(переменная != null), но вот появилось что-то такое:
var результат = объект?.переменная, это как я понял эквивалент if(объект.переменная) или if(объект.переменная != null). Про это я слышал в ЯП Swift, в который мы будем уже скоро играться! Вот простой пример:
using System;
public class Student {
public String Firstanme { get; set; }
public String Lastanme { get; set; }
}
public class Program
{
public static void Main()
{
Student s = new Student();
var name = $"{s?.Firstanme} {s?.Lastanme}";
Console.WriteLine($"Привет {name}!");
}
}
Результат:
Привет !
Теперь изменим код:
Student s = new Student() { Firstanme = "lexx821" };Результат:
Привет lexx821 !
Теперь ещё изменим:
Student s = new Student() { Firstanme = "Антон", Lastanme = "Попов" };Результат:
Привет Антон Попов!