Допустимое отсутствие объекта в C#
В современных проектах .NET проверка
nullable reference types обычно включена
в настройках проекта. Компилятор предупреждает,
если в ссылочное поле могут записать null
без явной пометки ?.
Запишем класс с полем, которое может остаться пустым:
Team team = new Team();
Console.WriteLine(team.CaptainName);
class Team
{
public string? CaptainName;
}
Знак ? после ссылочного типа показывает, что
значение может отсутствовать. Без ? компилятор
ожидает ненулевую ссылку после инициализации.
Сделайте класс Profile с необязательным псевонимом. Выведите его до присваивания - программа должна допускать пустое значение без ошибки времени выполнения.