
День семьдесят первый. #CSharp8
Новые функции в C# 8.
2. Обнуляемый Ссылочный Тип
В C#8 можно объявлять обнуляемый контекст с помощью аннотации
Для необнуляемых ссылочных типов компилятор использует анализ потока, чтобы убедиться, что локальные переменные инициализированы не-
Обнуляемые ссылочные типы не проверяются на присваивание
Источник: https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-8
Новые функции в C# 8.
2. Обнуляемый Ссылочный Тип
В C#8 можно объявлять обнуляемый контекст с помощью аннотации
#nullable
. Внутри него любые переменные ссылочного типа считаются необнуляемыми. Если вы хотите присвоить ссылочному типу null
, нужно явно объявить обнуляемый тип переменной с помощью <тип>?
.Для необнуляемых ссылочных типов компилятор использует анализ потока, чтобы убедиться, что локальные переменные инициализированы не-
null
значением. Все поля должны быть инициализированы в конструкторе. Компилятор выдаёт предупреждение, если переменная не объявляется вызовом любого из доступных конструкторов или инициализатором.Обнуляемые ссылочные типы не проверяются на присваивание
null
, однако компилятор использует анализ потока, чтобы убедиться, что переменная обнуляемого типа не содержит null
, прежде чем к ней обращается код или она присваивается переменной необнуляемого типа.Источник: https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-8