Ce este operatorul de coalescere nul în C#

Ce Este Operatorul De Coalescere Nul In C



C# este un limbaj de programare utilizat pe scară largă, conceput pentru a crea aplicații eficiente și robuste pentru diverse platforme. Limba are multe caracteristici avansate, inclusiv operator de coalescere nul , care ajută la simplificarea codului complex, oferind o sintaxă compactă pentru a gestiona valorile nule. Acest operator a devenit popular printre dezvoltatorii care caută o metodă simplă de tratat nul valorile în proiectele lor.

Acest articol va intra în detaliu despre operator de coalescere nul .







Ce este un operator de coalescere nulă în C#

În C#, simbolul pentru operator de coalescere nul este ?? . Dacă o variabilă este nulă, este folosită pentru a-i da o valoare implicită.



De exemplu, dacă avem o variabilă X care poate fi nul și vrem să îi atribuim o valoare implicită de 10 dacă este nul, putem folosi operator de coalescere nul după cum urmează:



int y = x ?? 10





Această declarație va atribui valoarea lui 10 la y dacă x este nul, în caz contrar, va lua valoarea lui x.

Va returna valoarea operandului din stânga dacă nu este nul. Operandul din dreapta este examinat și rezultatul este returnat dacă este nul. Alternativ, dacă operandul din stânga este evaluat ca non-null, nu evaluează operandul din dreapta.



Modul tradițional de a scrie codul fără operator de coalescere nul este:

dacă ( rezultatul este nul )

întoarcere Listă nouă < Persoană > ( ) ;

întoarcere rezultat;

Putem condensa acest lucru la o singură linie care conține atât valoarea implicită non-nulă, cât și verificarea nulă folosind operator de coalescere nul :

întoarcere rezultat?? Listă nouă < Persoană > ( ) ;

Câteva puncte importante de reținut operator de coalescere nul sunt:

  • O variabilă trebuie să fie operandul din stânga al lui ?? operator.
  • Operandul din stânga al operatorului ??= nu poate fi un tip care nu poate fi anulat.
  • Operatorul nul-coalescing nu poate fi supraîncărcat.
  • Operatorul de coalescere nulă este asociat la dreapta. Aceasta înseamnă că o expresie precum a ??= b ??= c va fi evaluată ca a ??= (b ??= c).

Utilizări ale operatorului de coalescere nulă

Utilizările operator de coalescere nul sunt:

1: Furnizarea valorilor implicite

Când lucrați cu tipuri nullabile, dacă valoarea este nulă, puteți utiliza operator de coalescere nul pentru a furniza o valoare implicită în loc să arunce o excepție.

folosind System;

Programul de clasă publică
{
public static void Principal ( )
{
int? nullableValue = null;
int valoare = nullableValue ?? 10 ;
Consolă.WriteLine ( „Valoarea este:” + valoare ) ;
}
}

În exemplul de mai sus, definim întregul nullableValue variabilă și dați-i valoarea zero. The operator de coalescere nul este apoi folosit pentru a furniza variabilei valoare o valoare implicită de 10 dacă nullableValue este nulă. Apoi, valoarea este afișată pe consolă.

2: Evitarea excepțiilor referințelor nule

Valorile nule pot duce la excepții de referință nule atunci când lucrați cu structuri de date sofisticate, cum ar fi obiecte și matrice. Aceste excepții pot fi evitate folosind operator de coalescere nul , care furnizează valori implicite.

folosind System;

clasă publică myClass
{
șir public Nume { obține; a stabilit ; }
ID public int { obține; a stabilit ; }
}
Programul de clasă publică
{
public static void Principal ( )
{
myClass person = null;
nume șir = persoană?.Nume ?? 'Necunoscut' ;
int id = persoana?.ID ?? 0 ;
Consolă.WriteLine ( 'Nume: ' + nume ) ;
Consolă.WriteLine ( 'ID:' + id ) ;
}
}

Nume și ID sunt atribute ale clasa mea clasa din codul de mai sus. Pentru a accesa în siguranță Nume și ID proprietățile obiectului persoană și furnizează valori implicite dacă acestea sunt nule, setează o variabilă persoană la nulă și apoi utilizează operatorul condițional nul (?.) și operator de coalescere nul (??). Apoi, consola este imprimată cu numele și valorile id.

3: Eliminarea Condițiilor redundante dacă altfel

De asemenea, puteți utiliza operatorul de coalescere nul pentru a face codul mai concis și mai lizibil, eliminând necesitatea redundantei. condiții dacă-altfel .

De exemplu:

folosind System;

Exemplu de spațiu de nume
{
clasa myClass
{
gol static Principal ( şir [ ] argumente )
{
int? nullableValue = null;
valoare int;
dacă ( nullableValue ! = nul )
{
valoare = nullableValue.Value;
}
altfel
{
valoare = 10 ;
}
Consolă.WriteLine ( „Valoarea este:” + valoare ) ;
}
}
}

În codul de mai sus, operatorul de coalescere nul ?? este folosit pentru a atribui valoarea lui nullableValue a valorifica. Dacă nullableValue nu este nulă, atunci valoarea va avea aceeași valoare ca nullableValue . Dacă nullableValue este nulă, atunci valoarea va avea valoarea 10 dacă-altfel condiția nu mai este necesară, iar codul este acum mai scurt și mai ușor de înțeles.

Concluzie

The operator de coalescere nul în C# este o caracteristică puternică care simplifică modul în care dezvoltatorii gestionează valorile nule în proiectele lor. Acest operator oferă o sintaxă compactă, eficientă și flexibilă pentru a atribui valori implicite variabilelor care pot fi nule. Prin folosirea operator de coalescere nul , dezvoltatorii pot scrie cod mai lizibil, mai ușor de întreținut și mai eficient, economisind timp și efort în procesul de dezvoltare.