Исключения с нулевыми ссылками являются частым источником ошибок в программах C#. С выпуском C# 10 было представлено несколько новых функций и улучшений, которые делают проверки на значения NULL более краткими и надежными. В этой статье мы рассмотрим различные методы и примеры кода для выполнения проверок на null в C# 10. Понимая эти методы, вы можете улучшить читаемость, удобство обслуживания и общую надежность вашего кода.
Метод 1: Оператор присваивания, объединяющий значения Null.
Оператор присваивания, объединяющий значения NULL (??=) — это новое дополнение в C# 10. Он обеспечивает краткий способ присвоения значения переменной. если оно равно нулю. Вот пример:
string name = null;
name ??= "John Doe";
Console.WriteLine(name); // Output: "John Doe"
Метод 2: оператор распространения значения NULL
Оператор распространения значения NULL (?.) позволяет получать доступ к членам объекта или вызывать его методы, даже если объект имеет значение NULL. Он сокращает выражение и возвращает значение NULL, если какая-либо часть выражения имеет значение NULL. Вот пример:
string name = null;
int length = name?.Length; // length will be null
Метод 3: оператор, допускающий пустые значения
Оператор, допускающий пустые значения (!), используется для подавления предупреждений о нулевых ссылках. Он сообщает компилятору, что вы знаете о возможной нулевой ссылке и что ему следует пропустить предупреждение. Однако если во время выполнения значение действительно равно нулю, будет выброшено NullReferenceException. Вот пример:
string name = null;
int length = name!.Length; // No compile-time warning, but potential NullReferenceException at runtime
Метод 4: условный доступ с проверкой на нулевое значение
В C# 10 можно комбинировать оператор распространения значения на нулевое значение с проверкой на нулевое значение с помощью оператора утверждения ненулевого значения (!). Это позволяет выполнять действия, только если переменная не равна нулю. Вот пример:
string name = null;
if (name is not null)
{
Console.WriteLine(name.Length);
}
Метод 5: сопоставление с образцом
В C# 10 представлен расширенный синтаксис сопоставления с образцом, который позволяет проверить, не является ли объект нулевым и принадлежит ли объект определенного типа в одном операторе. Вот пример:
object obj = "Hello";
if (obj is string { Length: > 0 } str)
{
Console.WriteLine(str);
}
В этой статье мы рассмотрели несколько методов выполнения проверок на значения NULL в C# 10. Оператор объединения значений NULL, оператор распространения NULL, оператор, прощающий значения NULL, условный доступ с проверкой NULL и сопоставление с образцом — это мощные инструменты, которые могут помочь вам справиться с нулевые ссылки и избегайте исключений нулевых ссылок в вашем коде. Приняв эти методы, вы сможете писать более надежные программы на C#.
Помните, что проверки на null необходимы для обработки ошибок и обеспечения стабильности ваших приложений. Освоив эти методы, вы сможете повысить качество своего кода и снизить вероятность возникновения проблем, связанных с нулевыми ссылками.