Hva er Null Coalescing Operator i C#

Hva Er Null Coalescing Operator I C



C# er et mye brukt programmeringsspråk designet for å lage effektive og robuste applikasjoner for ulike plattformer. Språket har mange avanserte funksjoner, inkludert null koalescerende operatør , som bidrar til å forenkle kompleks kode ved å gi en kompakt syntaks for å håndtere nullverdier. Denne operatøren har blitt populær blant utviklere som leter etter en enkel metode å håndtere null verdier i sine prosjekter.

Denne artikkelen vil gå i detalj på null koalescerende operatør .







Hva er en Null Coalescing Operator i C#

I C# er symbolet for null koalescerende operatør er ?? . Hvis en variabel er null, brukes den til å gi den en standardverdi.



For eksempel hvis vi har en variabel x som kan være null og vi vil tilordne den en standardverdi på 10 hvis den er null, kan vi bruke null koalescerende operatør følgende:



int y = x ?? 10





Denne uttalelsen vil tildele verdien av 10 til y hvis x er null, ellers vil den ta verdien av x.

Den vil returnere verdien til venstre operand hvis den ikke er null. Den høyrehendte operanden undersøkes og resultatet returneres hvis det er null. Alternativt, hvis venstreoperanden evalueres til ikke-null, evaluerer den ikke høyreoperanden.



Den tradisjonelle måten å skrive koden på uten null koalescerende operatør er:

hvis ( resultatet er null )

komme tilbake ny liste < Person > ( ) ;

komme tilbake resultat;

Vi kan kondensere dette til en enkelt linje som inneholder både standardverdien som ikke er null og nullkontrollen ved å bruke null koalescerende operatør :

komme tilbake resultat ?? ny liste < Person > ( ) ;

Noen viktige punkter å huske på null koalescerende operatør er:

  • En variabel må være venstre operand av ?? operatør.
  • ??=-operatørens venstre operand kan ikke være en ikke-nullbar type.
  • Null-koalescerende operatør kan ikke overbelastes.
  • Nullkoalescerende operatør er høyreassosiativ. Dette betyr at et uttrykk som a ??= b ??= c vil bli evaluert som en ??= (b ??= c).

Bruk av Null Coalescing Operator

Brukene av null koalescerende operatør er:

1: Oppgi standardverdier

Når du arbeider med nullbare typer, hvis verdien er null, kan du bruke null koalescerende operatør å gi en standardverdi i stedet for å gi et unntak.

bruker System;

offentlig klasseprogram
{
offentlig statisk tomrom Main ( )
{
int? nullableValue = null;
int verdi = nullableValue ?? 10 ;
Console.WriteLine ( 'Verdien er:' + verdi ) ;
}
}

I eksemplet ovenfor definerer vi heltallet nullableValue variabel og gi den verdien null. De null koalescerende operatør brukes deretter til å gi verdivariabelen en standardverdi på 10 hvis nullableValue er null. Deretter vises verdien på konsollen.

2: Unngå nullreferanse-unntak

Nullverdier kan resultere i nullreferanseunntak når du arbeider med sofistikerte datastrukturer som objekter og matriser. Disse unntakene kan unngås ved å bruke null koalescerende operatør , som gir standardverdier.

bruker System;

offentlig klasse myClass
{
offentlig streng Navn { få; sett ; }
offentlig int ID { få; sett ; }
}
offentlig klasseprogram
{
offentlig statisk tomrom Main ( )
{
myClass person = null;
strengnavn = person?.Navn ?? 'Ukjent' ;
int id = person?.ID ?? 0 ;
Console.WriteLine ( 'Navn: ' + navn ) ;
Console.WriteLine ( 'ID: ' + id ) ;
}
}

Navn og ID er attributter til klassen min klasse i koden ovenfor. For å trygt få tilgang til Navn og ID egenskapene til personobjektet og leverer standardverdier hvis de er null, setter den en personvariabel til null og bruker deretter null betinget operator (?.) og null koalescerende operatør (??). Deretter skrives konsollen ut med navn og id-verdier.

3: Fjerning av redundante if-else-betingelser

Du kan også bruke null coalescing-operatoren for å gjøre koden mer kortfattet og lesbar ved å fjerne behovet for redundant hvis andre forhold .

For eksempel:

bruker System;

navneområde eksempel
{
klasse myClass
{
statisk tomrom Main ( streng [ ] args )
{
int? nullableValue = null;
int verdi;
hvis ( nullableValue ! = null )
{
verdi = nullableValue.Value;
}
ellers
{
verdi = 10 ;
}
Console.WriteLine ( 'Verdien er:' + verdi ) ;
}
}
}

I koden ovenfor, null-sammenslåingsoperatøren ?? brukes til å tilordne verdien av nullableValue å verdsette. Hvis nullableValue ikke er null, vil verdien ha samme verdi som nullableValue . Hvis nullableValue er null, vil verdien ha verdien 10. The hvis-annet tilstand er ikke lenger nødvendig, og koden er nå kortere og lettere å forstå.

Konklusjon

De null koalescerende operatør i C# er en kraftig funksjon som forenkler måten utviklere håndterer nullverdier i prosjektene sine. Denne operatoren gir en kompakt, effektiv og fleksibel syntaks for å tilordne standardverdier til variabler som kan være null. Ved å bruke null koalescerende operatør , kan utviklere skrive mer lesbar, vedlikeholdbar og effektiv kode, noe som sparer tid og krefter i utviklingsprosessen.