Как да използвате оператори Nullish Coalescing (??) и Nullish Coalescing Assignment (??=) в C#

Kak Da Izpolzvate Operatori Nullish Coalescing I Nullish Coalescing Assignment V C



Езикът за програмиране C# поддържа много оператори, които могат да се използват за извършване на различни операции върху променливи, изрази и изрази. Два от често използваните оператори в C# са ?? и ??=. Тези оператори се използват за предоставяне на стойности по подразбиране на променливи и са полезни за опростяване на кода и намаляване на потенциалните грешки.

Тази статия ще обсъди какво представляват тези оператори и как могат да се използват в програмирането на C#.

Какво е ?? Оператор в C#?

The ?? оператор, известен също като оператор за нулево обединяване, се използва за предоставяне на стойност по подразбиране за тип стойност с възможност за нула или референтен тип, който може да бъде нула. Операторът връща левия операнд, ако не е нула; в противен случай връща десния операнд, освен това има пример за използване на този оператор в C#:







използвайки System ;

клас програма

{
статичен невалиден Основен ( низ [ ] аргументи )
{
вътр ? х = нула ;
вътр и = х ?? 3 ;
Конзола. WriteLine ( и ) ;
}
}

В този пример сме дефинирали nullable целочислена променлива x и сме й присвоили null стойност и след това сме използвали ?? оператор за предоставяне на стойност по подразбиране 3 на променливата y, ако a е нула. Тъй като a е нула, стойността на y е зададена на 3.



  Автоматично генерирано текстово описание



Какво е това??= Оператор в C#

The ??= operator е съкратен оператор, който комбинира оператора за нулево обединяване ?? и операторът за присвояване =. Използва се за присвояване на стойност на променлива само ако променливата е null и ако променливата вече има стойност, тогава операцията за присвояване не се изпълнява, ето пример за използване на оператора ??= в C#:





използвайки System ;

клас програма
{
статичен невалиден Основен ( низ [ ] аргументи )
{
вътр ? х = нула ;
х ??= 3 ;
Конзола. WriteLine ( х ) ;
х ??= 4 ;
Конзола. WriteLine ( х ) ;
}
}

В този пример сме дефинирали nullable целочислена променлива x и сме й присвоили null стойност и след това сме използвали оператора ??=, за да присвоим стойност 3 на променлива a, тъй като тя е null. Първият оператор WriteLine() извежда стойността на x, която е 3 и след това отново използва оператора ??=, за да присвои стойност 4 на променливата x. Въпреки това, тъй като x вече има стойност 3, операцията за присвояване не се изпълнява, така че вторият оператор WriteLine() извежда стойността на x, която все още е 3:

  Автоматично генерирано текстово описание



Заключение

?? и ??= операторите в C# са полезни оператори, които опростяват кода и намаляват потенциалните грешки чрез предоставяне на стойности по подразбиране на променливи. ?? се използва за предоставяне на стойност по подразбиране за тип стойност с възможност за null или референтен тип, който може да бъде null. Операторът ??= е съкратен оператор, който комбинира оператора за нулево обединяване ?? и операторът за присвояване = и се използва за присвояване на стойност на променлива само ако променливата е нула.