Kas ir nulles apvienošanas operators C#

Kas Ir Nulles Apvienosanas Operators C



C# ir plaši izmantota programmēšanas valoda, kas izstrādāta, lai izveidotu efektīvas un stabilas lietojumprogrammas dažādām platformām. Valodai ir daudzas uzlabotas funkcijas, tostarp nulles apvienošanas operators , kas palīdz vienkāršot sarežģītu kodu, nodrošinot kompaktu sintaksi nulles vērtību apstrādei. Šis operators ir kļuvis populārs starp izstrādātājiem, kuri meklē vienkāršu veidu, kā rīkoties null vērtības savos projektos.

Šajā rakstā tiks detalizēti aprakstīts nulles apvienošanas operators .







Kas ir nulles apvienošanas operators C#

C# valodā simbols nulles apvienošanas operators ir ?? . Ja mainīgais ir nulle, tas tiek izmantots, lai piešķirtu tam noklusējuma vērtību.



Piemēram, ja mums ir mainīgais x kas var būt nulle, un mēs vēlamies tai piešķirt noklusējuma vērtību 10, ja tā ir nulle, mēs varam izmantot nulles apvienošanas operators sekojoši:



int y = x ?? 10





Šis paziņojums piešķirs vērtību 10 uz y, ja x ir nulle, pretējā gadījumā tiks izmantota x vērtība.

Tas atgriezīs kreisā operanda vērtību, ja tā nav nulles vērtība. Labās puses operands tiek pārbaudīts un rezultāts tiek atgriezts, ja tas ir nulle. Alternatīvi, ja kreisās puses operands novērtē uz nulli, tas nenovērtē savu labās puses operandu.



Tradicionālais veids, kā rakstīt kodu bez nulles apvienošanas operators ir:

ja ( rezultāts ir nulle )

atgriezties jauns saraksts < Persona > ( ) ;

atgriezties rezultāts;

Mēs varam to saīsināt vienā rindā, kurā ir gan noklusējuma vērtība, kas nav nulle, gan nulles pārbaude, izmantojot nulles apvienošanas operators :

atgriezties rezultāts?? jauns saraksts < Persona > ( ) ;

Daži svarīgi punkti, kas jāatceras nulles apvienošanas operators ir:

  • Mainīgajam ir jābūt ?? operators.
  • Operatora ??= kreisās puses operands nevar būt nulles veids.
  • Nulles apvienošanas operatoru nevar pārslogot.
  • Nulles apvienošanas operators ir labās puses asociatīvais. Tas nozīmē, ka tāda izteiksme kā a ??= b ??= c tiks novērtēta kā ??= (b ??= c).

Null coalescing operatora izmantošana

Lietošanas veidi nulles apvienošanas operators ir:

1: Noklusējuma vērtību nodrošināšana

Strādājot ar nullējamiem tipiem, ja vērtība ir null, varat izmantot nulles apvienošanas operators lai nodrošinātu noklusējuma vērtību, nevis izņēmumu.

izmantojot sistēmu;

publiskās klases programma
{
public static void Galvenā ( )
{
int? nullableValue = null;
int vērtība = nullableValue ?? 10 ;
Console.WriteLine ( 'Vērtība ir:' + vērtība ) ;
}
}

Iepriekš minētajā piemērā mēs definējam veselu skaitli nullableValue mainīgo un piešķiriet tam nulles vērtību. The nulles apvienošanas operators pēc tam tiek izmantots, lai nodrošinātu vērtības mainīgajam noklusējuma vērtību 10, ja nullableValue ir nulle. Pēc tam vērtība tiek parādīta konsolē.

2: Izvairīšanās no nulles atsauces izņēmumiem

Null vērtības var radīt nulles atsauces izņēmumus, strādājot ar sarežģītām datu struktūrām, piemēram, objektiem un masīviem. No šiem izņēmumiem var izvairīties, izmantojot nulles apvienošanas operators , kas nodrošina noklusējuma vērtības.

izmantojot sistēmu;

publiskā klase myClass
{
publiskā virkne Nosaukums { gūt; komplekts ; }
publiskais int ID { gūt; komplekts ; }
}
publiskās klases programma
{
public static void Galvenā ( )
{
myClass persona = null;
virknes nosaukums = persona?.Vārds ?? 'Nezināms' ;
starpt id = persona?.ID ?? 0 ;
Console.WriteLine ( 'Vārds:' + vārds ) ;
Console.WriteLine ( 'ID:' + id ) ;
}
}

Vārds un ID ir atribūti mana klase klase augstāk esošajā kodā. Lai droši piekļūtu Vārds un ID personas objekta rekvizītus un sniedz noklusējuma vērtības, ja tās ir nulles, tas iestata personas mainīgo uz nulli un pēc tam izmanto nulles nosacījumu operatoru (?.) un nulles apvienošanas operators (??). Pēc tam konsole tiek izdrukāta ar nosaukumu un id vērtībām.

3: Lieku ja-cits nosacījumu noņemšana

Varat arī izmantot nulles apvienošanas operatoru, lai padarītu kodu kodolīgāku un lasāmāku, novēršot nepieciešamību pēc liekā ja-citādi nosacījumi .

Piemēram:

izmantojot sistēmu;

nosaukumvietas piemērs
{
klase myClass
{
statiskā tukšums Galvenā ( virkne [ ] args )
{
int? nullableValue = null;
int vērtība;
ja ( nullableValue ! = null )
{
vērtība = nullableValue.Value;
}
cits
{
vērtība = 10 ;
}
Console.WriteLine ( 'Vērtība ir:' + vērtība ) ;
}
}
}

Iepriekš minētajā kodā nulles apvienošanas operators ?? tiek izmantots, lai piešķirtu vērtību nullableValue novērtēt. Ja nullableValue nav nulle, tad vērtībai būs tāda pati vērtība kā nullableValue . Ja nullableValue ir nulle, tad vērtībai būs 10. The ja-citādi nosacījums vairs nav nepieciešams, un kods tagad ir īsāks un vieglāk uztverams.

Secinājums

The nulles apvienošanas operators valodā C# ir spēcīgs līdzeklis, kas vienkāršo veidu, kā izstrādātāji savos projektos apstrādā nulles vērtības. Šis operators nodrošina kompaktu, efektīvu un elastīgu sintaksi, lai piešķirtu noklusējuma vērtības mainīgajiem, kas var būt nulles. Izmantojot nulles apvienošanas operators , izstrādātāji var rakstīt lasāmāku, apkopējamāku un efektīvāku kodu, ietaupot laiku un pūles izstrādes procesā.