Директива nullable в C#
Без директивы компилятор может не предупреждать о присвоении null ссылке, не помеченной ?.
Директива #nullable enable действует на оставшуюся часть файла. После неё ссылка без знака ? не должна быть null: компилятор предупредит о пустом значении. Знак ? явно разрешает null.
Включим контекст и проверим пустую заметку. Переменная помечена ?, поэтому null допустим:
#nullable enable
string? note = null;
Console.WriteLine(note is null); // выведет True
Включите проверку пустых ссылок и выведите true для null-переменной caption.