Kas yra nulinio sujungimo operatorius C#

Kas Yra Nulinio Sujungimo Operatorius C



C# yra plačiai naudojama programavimo kalba, skirta kurti efektyvias ir patikimas programas įvairioms platformoms. Kalba turi daug išplėstinių funkcijų, įskaitant nulinis sujungimo operatorius , kuri padeda supaprastinti sudėtingą kodą, pateikdama kompaktišką sintaksę nulinėms reikšmėms tvarkyti. Šis operatorius išpopuliarėjo tarp kūrėjų, ieškančių paprasto būdo valdyti nulinis vertybes savo projektuose.

Šiame straipsnyje bus išsamiai aprašyta nulinis sujungimo operatorius .







Kas yra nulinis sujungimo operatorius C#

C#, simbolis nulinis sujungimo operatorius yra ?? . Jei kintamasis yra nulinis, jis naudojamas norint suteikti jam numatytąją reikšmę.



Pavyzdžiui, jei turime kintamąjį x kuri gali būti nulinė ir norime jai priskirti numatytąją reikšmę 10, jei ji yra nulinė, galime naudoti nulinis sujungimo operatorius taip:



int y = x ?? 10





Šis teiginys priskirs vertę 10 į y, jei x yra nulinis, priešingu atveju bus naudojama x reikšmė.

Jis grąžins kairiojo operando reikšmę, jei ji nėra nulinė. Dešinysis operandas išnagrinėjamas ir rezultatas grąžinamas, jei jis yra nulis. Arba, jei kairiojo operando vertė nėra nulinė, ji neįvertina savo dešiniojo operando.



Tradicinis būdas parašyti kodą be nulinis sujungimo operatorius yra:

jeigu ( rezultatas yra nulis )

grąžinti naujas sąrašas < Asmuo > ( ) ;

grąžinti rezultatas;

Tai galime sutrumpinti į vieną eilutę, kurioje yra ir nulinė numatytoji reikšmė, ir nulinis patikrinimas, naudojant nulinis sujungimo operatorius :

grąžinti rezultatas ?? naujas sąrašas < Asmuo > ( ) ;

Kai kurie svarbūs dalykai, kuriuos reikia prisiminti nulinis sujungimo operatorius yra:

  • Kintamasis turi būti kairysis ?? operatorius.
  • Operatoriaus ??= kairysis operandas negali būti nenulinio tipo.
  • Nulinio sujungimo operatorius negali būti perkrautas.
  • Nulinio sujungimo operatorius yra dešinysis asociatyvus. Tai reiškia, kad tokia išraiška kaip a ??= b ??= c bus įvertinta kaip ??= (b ??= c).

Nulinio sujungimo operatoriaus naudojimas

Naudojimo būdai nulinis sujungimo operatorius yra:

1: Numatytųjų verčių pateikimas

Dirbdami su nuliniais tipais, jei reikšmė yra nulinė, galite naudoti nulinis sujungimo operatorius kad pateiktumėte numatytąją reikšmę, o ne nurodytumėte išimtį.

naudojant sistemą;

viešosios klasės programa
{
public static void Main ( )
{
tarpt? nullableValue = null;
int vertė = nullableValue ?? 10 ;
Console.WriteLine ( 'Vertė yra: ' + vertė ) ;
}
}

Aukščiau pateiktame pavyzdyje apibrėžiame sveikąjį skaičių nullableValue kintamąjį ir suteikite jam reikšmę nuliui. The nulinis sujungimo operatorius tada naudojamas reikšmės kintamajam pateikti numatytąją 10 reikšmę, jei nullableValue yra nulinė. Tada vertė rodoma konsolėje.

2: Nulinių nuorodų išimčių vengimas

Nulinės reikšmės gali sukelti nulinės nuorodos išimtis dirbant su sudėtingomis duomenų struktūromis, pvz., objektais ir masyvais. Šių išimčių galima išvengti naudojant nulinis sujungimo operatorius , kuriame pateikiamos numatytosios vertės.

naudojant sistemą;

viešoji klasė myClass
{
vieša eilutė Pavadinimas { gauti; rinkinys ; }
viešasis int ID { gauti; rinkinys ; }
}
viešosios klasės programa
{
public static void Main ( )
{
myClass asmuo = null;
eilutės vardas = asmuo?.Vardas ?? 'Nežinoma' ;
tarpt id = asmuo?.ID ?? 0 ;
Console.WriteLine ( 'Vardas: ' + vardas ) ;
Console.WriteLine ( 'ID:' + id ) ;
}
}

vardas ir ID yra atributai Mano klasė klasę aukščiau esančiame kode. Norint saugiai pasiekti vardas ir ID asmens objekto ypatybes ir pateikia numatytąsias reikšmes, jei jos yra nulinės, ji nustato asmens kintamąjį į nulį ir tada naudoja nulinį sąlyginį operatorių (?.) ir nulinis sujungimo operatorius (??). Tada konsolė išspausdinama su pavadinimu ir ID reikšmėmis.

3: perteklinių sąlygų, jei kitaip, pašalinimas

Taip pat galite naudoti nulinio sujungimo operatorių, kad jūsų kodas būtų glaustesnis ir skaitomesnis, pašalinant perteklinio jei kitaip sąlygos .

Pavyzdžiui:

naudojant sistemą;

vardų erdvės pavyzdys
{
klasė myClass
{
statinė tuštuma Pagrindinis ( styga [ ] args )
{
tarpt? nullableValue = null;
int vertė;
jeigu ( nullableValue ! = null )
{
reikšmė = nullableValue.Value;
}
Kitas
{
vertė = 10 ;
}
Console.WriteLine ( 'Vertė yra: ' + vertė ) ;
}
}
}

Aukščiau pateiktame kode nulinio sujungimo operatorius ?? naudojamas reikšmei priskirti nullableValue vertinti. Jeigu nullableValue nėra nulis, tada reikšmė bus tokia pati kaip nullableValue . Jeigu nullableValue yra nulis, tada reikšmė bus 10 jei-kitaip sąlyga nebereikalinga, o kodas dabar trumpesnis ir lengviau suprantamas.

Išvada

The nulinis sujungimo operatorius C# yra galinga funkcija, kuri supaprastina tai, kaip kūrėjai savo projektuose tvarko nulines reikšmes. Šis operatorius pateikia kompaktišką, efektyvią ir lanksčią sintaksę, leidžiančią priskirti numatytąsias reikšmes kintamiesiems, kurie gali būti nuliniai. Naudodami nulinis sujungimo operatorius , kūrėjai gali rašyti lengviau skaitomą, prižiūrimą ir efektyvesnį kodą, taupydami laiką ir pastangas kūrimo procese.