Mis on nullühendamise operaator C#-s

Mis On Nulluhendamise Operaator C S



C# on laialdaselt kasutatav programmeerimiskeel, mis on loodud tõhusate ja töökindlate rakenduste loomiseks erinevatele platvormidele. Keelel on palju täiustatud funktsioone, sealhulgas null koalesseerimisoperaator , mis aitab lihtsustada keerulist koodi, pakkudes nullväärtuste käsitlemiseks kompaktset süntaksit. See operaator on muutunud populaarseks arendajate seas, kes otsivad lihtsat käsitsemisviisi null väärtusi oma projektides.

Selles artiklis käsitletakse üksikasjalikult null koalesseerimisoperaator .







Mis on nullühendamise operaator C#-s

C#-s on sümbol null koalesseerimisoperaator on ?? . Kui muutuja on null, kasutatakse seda vaikeväärtuse andmiseks.



Näiteks kui meil on muutuja x mis võib olla null ja tahame sellele määrata vaikeväärtuse 10, kui see on null, saame kasutada null koalesseerimisoperaator järgnevalt:



int y = x ?? 10





See avaldus määrab väärtuse 10 y-le, kui x on null, vastasel juhul võtab see x väärtuse.

See tagastab vasakpoolse operandi väärtuse, kui see pole null. Paremakäelist operandi uuritakse ja tulemus tagastatakse, kui see on null. Teise võimalusena, kui vasakpoolne operandi väärtus on mitte-null, siis ta ei hinda oma parempoolset operandi.



Traditsiooniline viis koodi kirjutamiseks ilma null koalesseerimisoperaator on:

kui ( tulemus on null )

tagasi uus nimekiri < Isik > ( ) ;

tagasi tulemus;

Saame selle koondada ühele reale, mis sisaldab nii mitte-null vaikeväärtust kui ka nullkontrolli, kasutades null koalesseerimisoperaator :

tagasi tulemus ?? uus nimekiri < Isik > ( ) ;

Mõned olulised punktid, mida meeles pidada null koalesseerimisoperaator on:

  • Muutuja peab olema ?? operaator.
  • Operaatori ??= vasakpoolne operandi ei saa olla nullimata tüüpi.
  • Null-liitmise operaatorit ei saa üle koormata.
  • Null-liitmise operaator on parem-assotsiatiivne. See tähendab, et avaldist nagu a ??= b ??= c hinnatakse kui ??= (b ??= c).

Nullcoalescing Operatori kasutusalad

Kasutusviisid null koalesseerimisoperaator on:

1: Vaikeväärtuste esitamine

Nullitatavate tüüpidega töötamisel, kui väärtus on null, võite kasutada null koalesseerimisoperaator et anda erandi tegemise asemel vaikeväärtus.

süsteemi kasutamine;

avaliku klassi programm
{
avalik staatiline tühimik Main ( )
{
int? nullableValue = null;
int väärtus = nullableValue ?? 10 ;
Console.WriteLine ( 'Väärtus on:' + väärtus ) ;
}
}

Ülaltoodud näites defineerime täisarvu nullableValue muutuja ja anna sellele väärtus null. The null koalesseerimisoperaator kasutatakse siis väärtusmuutujale vaikeväärtuse 10 andmiseks, kui nullableValue on null. Järgmisena kuvatakse väärtus konsoolil.

2: Nullviite erandite vältimine

Nullväärtused võivad keerukate andmestruktuuridega (nt objektid ja massiivid) töötamisel kaasa tuua nullviide erandid. Neid erandeid saab vältida, kasutades null koalesseerimisoperaator , mis pakub vaikeväärtusi.

süsteemi kasutamine;

avalik klass myClass
{
avalik string Nimi { saada; seatud ; }
avalik int ID { saada; seatud ; }
}
avaliku klassi programm
{
avalik staatiline tühimik Main ( )
{
myClass isik = null;
string nimi = isik?.Nimi ?? 'Tundmatu' ;
int id = inimene?.ID ?? 0 ;
Console.WriteLine ( 'Nimi:' + nimi ) ;
Console.WriteLine ( 'ID:' + id ) ;
}
}

Nimi ja ID on atribuudid minu klass klass ülaltoodud koodis. Turvaliseks juurdepääsuks Nimi ja ID Isikobjekti atribuudid ja vaikeväärtused, kui need on nullid, määrab see isikumuutuja nulliks ja seejärel kasutab null tingimuslikku operaatorit (?.) ja null koalesseerimisoperaator (??). Seejärel prinditakse konsoolile nimi ja ID-väärtused.

3: Üleliigsete kui-muidu tingimuste eemaldamine

Võite kasutada ka null-liitmise operaatorit, et muuta oma kood kokkuvõtlikumaks ja loetavamaks, eemaldades vajaduse üleliigse kui-muidu tingimused .

Näiteks:

süsteemi kasutamine;

nimeruumi näide
{
klass myClass
{
staatiline tühimik Peamine ( string [ ] args )
{
int? nullableValue = null;
int väärtus;
kui ( nullableValue ! = null )
{
väärtus = nullableValue.Value;
}
muidu
{
väärtus = 10 ;
}
Console.WriteLine ( 'Väärtus on:' + väärtus ) ;
}
}
}

Ülaltoodud koodis null-liitmise operaator ?? kasutatakse väärtuse määramiseks nullableValue hindama. Kui nullableValue ei ole null, siis on väärtusel sama väärtus kui nullableValue . Kui nullableValue on null, siis on väärtuse väärtus 10 kui-muidu tingimust pole enam vaja ja kood on nüüd lühem ja hõlpsamini mõistetav.

Järeldus

The null koalesseerimisoperaator C#-s on võimas funktsioon, mis lihtsustab seda, kuidas arendajad oma projektides nullväärtusi käsitlevad. See operaator pakub kompaktset, tõhusat ja paindlikku süntaksit vaikeväärtuste määramiseks muutujatele, mis võivad olla nullid. Kasutades null koalesseerimisoperaator , saavad arendajad kirjutada loetavamat, hooldatavamat ja tõhusamat koodi, säästes arendusprotsessis aega ja vaeva.