Hvad er Null Coalescing Operator i C#

Hvad Er Null Coalescing Operator I C



C# er et meget brugt programmeringssprog designet til at skabe effektive og robuste applikationer til forskellige platforme. Sproget har mange avancerede funktioner, herunder null coalescerende operatør , som hjælper med at forenkle kompleks kode ved at give en kompakt syntaks til at håndtere null-værdier. Denne operatør er blevet populær blandt udviklere, der leder efter en ligetil metode at håndtere nul værdier i deres projekter.

Denne artikel vil gå i detaljer om null coalescerende operatør .







Hvad er en Null Coalescing Operator i C#

I C# er symbolet for null coalescerende operatør er ?? . Hvis en variabel er nul, bruges den til at give den en standardværdi.



For eksempel hvis vi har en variabel x der kan være null, og vi ønsker at tildele den en standardværdi på 10, hvis den er null, kan vi bruge null coalescerende operatør som følger:



int y = x ?? 10





Denne erklæring vil tildele værdien af 10 til y, hvis x er nul, ellers vil det tage værdien af ​​x.

Det vil returnere værdien af ​​den venstre operand, hvis den ikke er nul. Den højrehåndede operand undersøges, og resultatet returneres, hvis det er nul. Alternativt, hvis den venstre operand evalueres til ikke-nul, evaluerer den ikke dens højre operand.



Den traditionelle måde at skrive koden på uden null coalescerende operatør er:

hvis ( resultatet er nul )

Vend tilbage ny liste < Person > ( ) ;

Vend tilbage resultat;

Vi kan kondensere dette til en enkelt linje, der indeholder både standardværdien, der ikke er nul, og nulkontrollen ved hjælp af null coalescerende operatør :

Vend tilbage resultat ?? ny liste < Person > ( ) ;

Nogle vigtige punkter at huske på null coalescerende operatør er:

  • En variabel skal være den venstre operand af ?? operatør.
  • Operatøren ??=s venstre operand kan ikke være en ikke-nulbar type.
  • Nul-koalescerende operatør kan ikke overbelastes.
  • Nul-koalescerende operatør er højre-associativ. Det betyder, at et udtryk såsom a ??= b ??= c vil blive evalueret som en ??= (b ??= c).

Anvendelser af Null Coalescing Operator

Anvendelsen af null coalescerende operatør er:

1: Angivelse af standardværdier

Når du arbejder med nullbare typer, hvis værdien er null, kan du bruge null coalescerende operatør at angive en standardværdi i stedet for at kaste en undtagelse.

bruger System;

offentlig klasse program
{
offentlig statisk tomrum Main ( )
{
int? nullableValue = null;
int værdi = nullableValue ?? 10 ;
Console.WriteLine ( 'Værdien er:' + værdi ) ;
}
}

I ovenstående eksempel definerer vi hele tallet nullableValue variabel og giv den en værdi på nul. Det null coalescerende operatør bruges derefter til at give værdivariablen en standardværdi på 10, hvis nullableValue er null. Derefter vises værdien på konsollen.

2: Undgå null reference undtagelser

Null-værdier kan resultere i nul-referenceundtagelser, når du arbejder med sofistikerede datastrukturer som objekter og arrays. Disse undtagelser kan undgås ved at bruge null coalescerende operatør , som giver standardværdier.

bruger System;

offentlig klasse myClass
{
offentlig streng Navn { få; sæt ; }
offentligt int ID { få; sæt ; }
}
offentlig klasse program
{
offentlig statisk tomrum Main ( )
{
myClass person = null;
strengnavn = person?.Navn ?? 'Ukendt' ;
int id = person?.ID ?? 0 ;
Console.WriteLine ( 'Navn: ' + navn ) ;
Console.WriteLine ( 'ID: ' + id ) ;
}
}

Navn og ID er egenskaber ved min klasse klasse i koden ovenfor. For at få sikker adgang til Navn og ID egenskaber for personobjektet og leverer standardværdier, hvis de er nul, sætter den en personvariabel til null og bruger derefter null-betingede operatoren (?.) og null coalescerende operatør (??). Derefter udskrives konsollen med navn og id-værdier.

3: Fjernelse af redundante if-else-betingelser

Du kan også bruge null coalescing-operatoren til at gøre din kode mere kortfattet og læsbar ved at fjerne behovet for redundant hvis-else betingelser .

For eksempel:

bruger System;

navneområde eksempel
{
klasse myClass
{
statisk tomrum Main ( snor [ ] args )
{
int? nullableValue = null;
int værdi;
hvis ( nullableValue ! = null )
{
værdi = nullableValue.Value;
}
andet
{
værdi = 10 ;
}
Console.WriteLine ( 'Værdien er:' + værdi ) ;
}
}
}

I koden ovenfor er nul-sammenslutningsoperatøren ?? bruges til at tildele værdien af nullableValue At værdsætte. Hvis nullableValue ikke er null, så vil værdien have samme værdi som nullableValue . Hvis nullableValue er nul, så vil værdien have værdien 10. Den hvis ellers tilstand er ikke længere påkrævet, og koden er nu kortere og lettere at forstå.

Konklusion

Det null coalescerende operatør i C# er en kraftfuld funktion, der forenkler måden, udviklere håndterer null-værdier på i deres projekter. Denne operator giver en kompakt, effektiv og fleksibel syntaks til at tildele standardværdier til variabler, der kan være nul. Ved at bruge null coalescerende operatør , kan udviklere skrive mere læsbar, vedligeholdelig og effektiv kode, hvilket sparer tid og kræfter i udviklingsprocessen.