Mikä on Null Coalescing Operator C#:ssa

Mika On Null Coalescing Operator C Ssa



C# on laajalti käytetty ohjelmointikieli, joka on suunniteltu luomaan tehokkaita ja kestäviä sovelluksia eri alustoille. Kielessä on monia edistyneitä ominaisuuksia, mukaan lukien nolla-yhdistysoperaattori , joka auttaa yksinkertaistamaan monimutkaista koodia tarjoamalla kompaktin syntaksin nolla-arvojen käsittelemiseen. Tästä operaattorista on tullut suosittu kehittäjien keskuudessa, jotka etsivät suoraviivaista käsittelytapaa tyhjä arvot projekteissaan.

Tässä artikkelissa käsitellään yksityiskohtaisesti nolla-yhdistysoperaattori .







Mikä on Null Coalescing -operaattori C#:ssa

C#:ssa symboli nolla-yhdistysoperaattori On ?? . Jos muuttuja on nolla, sitä käytetään antamaan sille oletusarvo.



Esimerkiksi jos meillä on muuttuja x joka voi olla nolla ja haluamme määrittää sille oletusarvon 10, jos se on nolla, voimme käyttää nolla-yhdistysoperaattori seuraavasti:



int y = x ?? 10





Tämä lausunto määrittää arvon 10 arvoon y, jos x on nolla, muuten se ottaa x:n arvon.

Se palauttaa vasemman operandin arvon, jos se ei ole nolla. Oikeakätinen operandi tutkitaan ja tulos palautetaan, jos se on nolla. Vaihtoehtoisesti, jos vasenkätinen operandi arvioi ei-nollaksi, se ei arvioi oikeanpuoleista operandiaan.



Perinteinen tapa kirjoittaa koodi ilman nolla-yhdistysoperaattori On:

jos ( tulos on nolla )

palata uusi lista < Henkilö > ( ) ;

palata tulos;

Voimme tiivistää tämän yhdelle riville, joka sisältää sekä ei-nolla-oletusarvon että nolla-tarkistuksen käyttämällä nolla-yhdistysoperaattori :

palata tulos?? uusi lista < Henkilö > ( ) ;

Muutamia tärkeitä asioita, jotka kannattaa muistaa nolla-yhdistysoperaattori ovat:

  • Muuttujan on oltava ??:n vasen operandi. operaattori.
  • Operaattorin ??= vasen operandi ei voi olla ei-nolla-tyyppistä.
  • Nollaliitosoperaattoria ei voi ylikuormittaa.
  • Nollaliitosoperaattori on oikea-assosiatiivinen. Tämä tarkoittaa, että lauseke, kuten a ??= b ??= c, arvioidaan muodossa ??= (b ??= c).

Null Coalescing Operatorin käyttötarkoitukset

Käyttökohteet nolla-yhdistysoperaattori ovat:

1: Oletusarvojen antaminen

Työskennellessäsi nollattavien tyyppien kanssa, jos arvo on null, voit käyttää nolla-yhdistysoperaattori antaaksesi oletusarvon poikkeuksen tekemisen sijaan.

käyttämällä järjestelmää;

julkisen luokan ohjelma
{
julkinen static void Main ( )
{
int? nullableValue = null;
int arvo = nullableValue ?? 10 ;
Console.WriteLine ( 'Arvo on:' + arvo ) ;
}
}

Yllä olevassa esimerkissä määrittelemme kokonaisluvun nullableValue muuttuja ja anna sille arvo nolla. The nolla-yhdistysoperaattori käytetään sitten antamaan arvomuuttujalle oletusarvo 10, jos nullableValue on nolla. Seuraavaksi arvo näkyy konsolissa.

2: Nolla-viittauspoikkeuksien välttäminen

Nolla-arvot voivat johtaa nollaviittauspoikkeuksiin, kun työskentelet kehittyneiden tietorakenteiden, kuten objektien ja taulukoiden, kanssa. Nämä poikkeukset voidaan välttää käyttämällä nolla-yhdistysoperaattori , joka tarjoaa oletusarvot.

käyttämällä järjestelmää;

julkinen luokka myClass
{
julkinen merkkijono Nimi { saada; aseta ; }
julkinen int-tunnus { saada; aseta ; }
}
julkisen luokan ohjelma
{
julkinen static void Main ( )
{
myClass person = null;
merkkijonon nimi = henkilö?.Nimi ?? 'Tuntematon' ;
int id = henkilö?.ID ?? 0 ;
Console.WriteLine ( 'Nimi:' + nimi ) ;
Console.WriteLine ( 'ID:' + id ) ;
}
}

Nimi ja ID ovat attribuutteja luokkani luokka yllä olevassa koodissa. Jotta pääset turvallisesti käsiksi Nimi ja ID Person-objektin ominaisuudet ja syöttää oletusarvot, jos ne ovat nollia, se asettaa henkilömuuttujan nollaksi ja käyttää sitten ehdollista null-operaattoria (?.) ja nolla-yhdistysoperaattori (??). Sitten konsoliin tulostetaan nimi ja id-arvot.

3: Ylimääräisten jos-else-ehtojen poistaminen

Voit myös käyttää null coalescing -operaattoria tehdäksesi koodistasi tiiviimmän ja luettavamman poistamalla tarpeeton jos-muut olosuhteet .

Esimerkiksi:

käyttämällä järjestelmää;

Esimerkki nimiavaruudesta
{
luokka myClass
{
staattinen tyhjyys Pää ( merkkijono [ ] args )
{
int? nullableValue = null;
int arvo;
jos ( nullableValue ! = nolla )
{
arvo = nullableValue.Value;
}
muu
{
arvo = 10 ;
}
Console.WriteLine ( 'Arvo on:' + arvo ) ;
}
}
}

Yllä olevassa koodissa nollaliitosoperaattori ?? käytetään arvon määrittämiseen nullableValue arvostaa. Jos nullableValue ei ole nolla, arvolla on sama arvo kuin nullableValue . Jos nullableValue on nolla, arvon arvo on 10 tai muuten ehtoa ei enää tarvita, ja koodi on nyt lyhyempi ja helpompi ymmärtää.

Johtopäätös

The nolla-yhdistysoperaattori C#:ssa on tehokas ominaisuus, joka yksinkertaistaa tapaa, jolla kehittäjät käsittelevät nolla-arvoja projekteissaan. Tämä operaattori tarjoaa kompaktin, tehokkaan ja joustavan syntaksin oletusarvojen määrittämiseksi muuttujille, jotka voivat olla nolla. Käyttämällä nolla-yhdistysoperaattori , kehittäjät voivat kirjoittaa luettavampaa, ylläpidettävämpää ja tehokkaampaa koodia, mikä säästää aikaa ja vaivaa kehitysprosessissa.