Wat is Null Coalescing-operator in C#

Wat Is Null Coalescing Operator In C



C# is een veelgebruikte programmeertaal die is ontworpen om efficiënte en robuuste applicaties voor verschillende platforms te creëren. De taal heeft veel geavanceerde functies, waaronder de null samenvoegingsoperator , wat helpt om complexe code te vereenvoudigen door een compacte syntaxis te bieden om null-waarden te verwerken. Deze operator is populair geworden onder ontwikkelaars die op zoek zijn naar een eenvoudige methode om ermee om te gaan nul waarden in hun projecten.

Dit artikel zal in detail ingaan op de null samenvoegingsoperator .







Wat is een Null Coalescing-operator in C#

In C# is het symbool voor de null samenvoegingsoperator is ?? . Als een variabele null is, wordt deze gebruikt om deze een standaardwaarde te geven.



Als we bijvoorbeeld een variabele hebben X dat kan null zijn en we willen er een standaardwaarde van 10 aan toewijzen als het null is, kunnen we de null samenvoegingsoperator als volgt:



int y = x ?? 10





Deze instructie zal de waarde toekennen van 10 naar y als x null is, anders zal het de waarde van x aannemen.

Het retourneert de waarde van de linker operand als deze niet null is. De rechtshandige operand wordt onderzocht en de uitkomst wordt geretourneerd als deze null is. Als de linker operand resulteert in niet-null, evalueert hij zijn rechter operand niet.



De traditionele manier om de code te schrijven zonder de null samenvoegingsoperator is:

als ( resultaat is nul )

opbrengst nieuwe lijst < Persoon > ( ) ;

opbrengst resultaat;

We kunnen dit samenvatten tot een enkele regel die zowel de niet-null-standaardwaarde als de null-controle bevat met behulp van de null samenvoegingsoperator :

opbrengst resultaat ?? nieuwe lijst < Persoon > ( ) ;

Enkele belangrijke punten om te onthouden null samenvoegingsoperator Zijn:

  • Een variabele moet de linker operand van de ?? exploitant.
  • De linkeroperand van de operator ??= kan niet van het type zijn dat niet nullbaar is.
  • De null-coalescentie-operator kan niet worden overbelast.
  • De null-coalescentie-operator is rechts-associatief. Dit betekent dat een uitdrukking zoals a ??= b ??= c wordt geëvalueerd als a ??= (b ??= c).

Gebruik van Null Coalescentie-operator

Het gebruik van de null samenvoegingsoperator Zijn:

1: Standaardwaarden opgeven

Als u met null-bare typen werkt en de waarde null is, kunt u de null samenvoegingsoperator om een ​​standaardwaarde op te geven in plaats van een uitzondering te genereren.

systeem gebruiken;

programma van de openbare klasse
{
openbare statische leegte Main ( )
{
int? nullableWaarde = null;
int waarde = nullableValue ?? 10 ;
Console.WriteLine ( 'De waarde is: ' + waarde ) ;
}
}

In het bovenstaande voorbeeld definiëren we het gehele getal nullableWaarde variabele en geef deze de waarde nul. De null samenvoegingsoperator wordt vervolgens gebruikt om de waardevariabele een standaardwaarde van 10 te geven als nullableValue null is. Vervolgens wordt de waarde weergegeven op de console.

2: Null-referentie-uitzonderingen vermijden

Null-waarden kunnen resulteren in null-referentie-uitzonderingen bij het werken met geavanceerde gegevensstructuren zoals objecten en arrays. Deze uitzonderingen kunnen worden vermeden door de null samenvoegingsoperator , die standaardwaarden biedt.

systeem gebruiken;

openbare klasse myClass
{
openbare tekenreeksnaam { krijgen; set ; }
openbare int-ID { krijgen; set ; }
}
programma van de openbare klasse
{
openbare statische leegte Main ( )
{
mijnKlasse persoon = null;
tekenreeks naam = persoon?.Naam ?? 'Onbekend' ;
int ID kaart = persoon?.ID ?? 0 ;
Console.WriteLine ( 'Naam: ' + naam ) ;
Console.WriteLine ( 'ID KAART: ' + ID kaart ) ;
}
}

Naam En ID kaart zijn attributen van de mijn klas klasse in de bovenstaande code. Om veilig toegang te krijgen tot de Naam En ID kaart eigenschappen van het persoonsobject en levert standaardwaarden als ze null zijn, stelt het een persoonsvariabele in op null en gebruikt vervolgens de null voorwaardelijke operator (?.) en de null samenvoegingsoperator (??). Vervolgens wordt de console afgedrukt met de naam en id-waarden.

3: Redundante if-else-voorwaarden verwijderen

U kunt ook de null-coalescentie-operator gebruiken om uw code beknopter en leesbaarder te maken door redundantie overbodig te maken als-anders voorwaarden .

Bijvoorbeeld:

systeem gebruiken;

naamruimte Voorbeeld
{
klasse mijnKlasse
{
statische leegte Main ( snaar [ ] argumenten )
{
int? nullableWaarde = null;
int waarde;
als ( nullableWaarde ! = nul )
{
waarde = nullableValue.Value;
}
anders
{
waarde = 10 ;
}
Console.WriteLine ( 'De waarde is: ' + waarde ) ;
}
}
}

In de bovenstaande code de null-coalescentie-operator ?? wordt gebruikt om de waarde van toe te kennen nullableWaarde waarderen. Als nullableWaarde niet null is, dan heeft de waarde dezelfde waarde als nullableWaarde . Als nullableWaarde nul is, dan heeft de waarde de waarde 10. De als-anders voorwaarde is niet langer vereist en de code is nu korter en gemakkelijker te begrijpen.

Conclusie

De null samenvoegingsoperator in C# is een krachtige functie die de manier vereenvoudigt waarop ontwikkelaars omgaan met null-waarden in hun projecten. Deze operator biedt een compacte, efficiënte en flexibele syntaxis om standaardwaarden toe te wijzen aan variabelen die null kunnen zijn. Door gebruik te maken van de null samenvoegingsoperator , kunnen ontwikkelaars beter leesbare, onderhoudbare en efficiëntere code schrijven, wat tijd en moeite bespaart in het ontwikkelingsproces.