Ссылочные типы, допускающие null, в C#
В этом уроке вы будете использовать ссылочные типы, допускающие null, чтобы компилятор помогал находить места, где может появиться null.
Введение
Ошибка NullReferenceException возникает при обращении к переменной, равной null, и это одна из самых частых ошибок. C# позволяет явно указать, какие переменные могут быть null, с помощью знака ?, например string?. Тогда компилятор предупредит, если вы используете такую переменную без проверки на null.
Переменная nickname имеет тип string?, поэтому может быть равна null. Оператор ?? (null-coalescing) возвращает "Anonymous", если nickname равен null, поэтому у displayName всегда есть значение и обращение к Length безопасно. На экран выводится Anonymous (9).
Пример на C#, который можно запустить
using System;
class Program
{
static void Main()
{
string? nickname = null;
string displayName = nickname ?? "Anonymous";
Console.WriteLine($"{displayName} ({displayName.Length})");
}
}
Anonymous (9)