Что такое нулевой оператор объединения в C#

Cto Takoe Nulevoj Operator Ob Edinenia V C



С# — широко используемый язык программирования, предназначенный для создания эффективных и надежных приложений для различных платформ. Язык имеет множество дополнительных функций, в том числе нулевой оператор объединения , который помогает упростить сложный код, предоставляя компактный синтаксис для обработки нулевых значений. Этот оператор стал популярным среди разработчиков, ищущих простой метод для обработки нулевой ценности в своих проектах.

В этой статье будет подробно рассказано о нулевой оператор объединения .







Что такое нулевой оператор объединения в C#

В C# символ для нулевой оператор объединения является ?? . Если переменная имеет значение null, она используется для присвоения ей значения по умолчанию.



Например, если у нас есть переменная Икс который может быть нулевым, и мы хотим присвоить ему значение по умолчанию 10, если оно равно нулю, мы можем использовать нулевой оператор объединения следующее:



интервал у = х ?? 10





Этот оператор присвоит значение 10 на y, если x равно null, в противном случае он примет значение x.

Он вернет значение левого операнда, если оно не равно нулю. Проверяется правый операнд и возвращается результат, если он равен нулю. В качестве альтернативы, если левый операнд оценивается как ненулевой, он не оценивает свой правый операнд.



Традиционный способ написания кода без нулевой оператор объединения является:

если ( результат нулевой )

возвращаться новый список < Человек > ( ) ;

возвращаться результат;

Мы можем сжать это в одну строку, содержащую как ненулевое значение по умолчанию, так и нулевую проверку, используя нулевой оператор объединения :

возвращаться результат ?? новый список < Человек > ( ) ;

Некоторые важные моменты, о которых следует помнить нулевой оператор объединения являются:

  • Переменная должна быть левым операндом ?? оператор.
  • Левый операнд оператора ??= не может быть ненулевым типом.
  • Оператор объединения с нулевым значением не может быть перегружен.
  • Оператор объединения с нулевым значением является правоассоциативным. Это означает, что такое выражение, как a ??= b ??= c, будет оцениваться как a ??= (b ??= c).

Использование нулевого оператора объединения

Использование нулевой оператор объединения являются:

1: Предоставление значений по умолчанию

При работе с типами, допускающими значение null, если значение равно null, вы можете использовать метод нулевой оператор объединения чтобы предоставить значение по умолчанию вместо создания исключения.

с помощью системы;

Программа публичного класса
{
public static void Основной ( )
{
инт? нулевое значение = ноль;
int значение = nullableValue ?? 10 ;
Console.WriteLine ( 'Ценность:' + значение ) ;
}
}

В приведенном выше примере мы определяем целое число nullableValue переменной и присвойте ей нулевое значение. нулевой оператор объединения затем используется для предоставления переменной value значения по умолчанию, равного 10, если nullableValue равно null. Далее значение выводится на консоль.

2: Избегайте исключений нулевой ссылки

Нулевые значения могут привести к возникновению нулевых ссылок при работе со сложными структурами данных, такими как объекты и массивы. Этих исключений можно избежать, используя нулевой оператор объединения , который предоставляет значения по умолчанию.

с помощью системы;

открытый класс мой класс
{
общедоступная строка Имя { получать; набор ; }
общедоступный внутренний идентификатор { получать; набор ; }
}
Программа публичного класса
{
public static void Основной ( )
{
мой класс человек = ноль;
строка имя = человек?.Имя ?? 'Неизвестный' ;
инт идентификатор = человек?.ID ?? 0 ;
Console.WriteLine ( 'Имя: ' + имя ) ;
Console.WriteLine ( 'ИДЕНТИФИКАТОР: ' + идентификатор ) ;
}
}

Имя и ИДЕНТИФИКАТОР являются атрибутами мои занятия класс в приведенном выше коде. Для безопасного доступа к Имя и ИДЕНТИФИКАТОР свойств объекта person и предоставляет значения по умолчанию, если они равны нулю, он устанавливает переменную person в значение null, а затем использует условный оператор null (?.) и оператор нулевой оператор объединения (??). Затем консоль выводится со значениями имени и идентификатора.

3: Удаление избыточных условий if-else

Вы также можете использовать оператор объединения null, чтобы сделать свой код более кратким и читабельным, убрав необходимость в избыточных если-иначе условия .

Например:

с помощью системы;

пример пространства имен
{
класс мой класс
{
статическая пустота Главная ( нить [ ] аргументы )
{
инт? нулевое значение = ноль;
целое значение;
если ( nullableValue ! = ноль )
{
значение = nullableValue.Value;
}
еще
{
значение = 10 ;
}
Console.WriteLine ( 'Ценность:' + значение ) ;
}
}
}

В приведенном выше коде оператор объединения null ?? используется для присвоения значения nullableValue оценивать. Если nullableValue не является нулевым, то значение будет иметь то же значение, что и nullableValue . Если nullableValue равно null, значение будет равно 10. если еще условие больше не требуется, а код стал короче и легче для понимания.

Заключение

нулевой оператор объединения в C# — это мощная функция, упрощающая обработку разработчиками нулевых значений в своих проектах. Этот оператор обеспечивает компактный, эффективный и гибкий синтаксис для присвоения значений по умолчанию переменным, которые могут быть нулевыми. С помощью нулевой оператор объединения , разработчики могут писать более читаемый, удобный в сопровождении и эффективный код, экономя время и усилия в процессе разработки.