Ovaj članak govori o tome što su ti operatori i kako se mogu koristiti u C# programiranju.
Što je ?? Operator u C#?
The ?? operator, također poznat kao operator null-coalescing, koristi se za pružanje zadane vrijednosti tipu vrijednosti null ili referentnom tipu koji može biti null. Operator vraća lijevi operand ako nije null; u suprotnom, vraća desni operand, dalje postoji primjer korištenja ovog operatora u C#:
pomoću sustava ;
razreda Program
{
statički poništiti Glavni ( niz [ ] args )
{
int ? x = ništavan ;
int i = x ?? 3 ;
Konzola. WriteLine ( i ) ;
}
}
U ovom smo primjeru definirali nullable integer varijablu x i dodijelili joj null vrijednost, a zatim upotrijebili ?? operator za pružanje zadane vrijednosti 3 varijabli y ako je a nula. Budući da je a nula, vrijednost y je postavljena na 3.
Što je ovo ??= Operator u C#
The ??= operator je skraćeni operator koji kombinira null-coalescing operator ?? a operator dodjele =. Koristi se za dodjelu vrijednosti varijabli samo ako je varijabla null i ako varijabla već ima vrijednost, tada se operacija dodjele ne izvodi, ovdje je primjer korištenja operatora ??= u C#:
pomoću sustava ;
razreda Program
{
statički poništiti Glavni ( niz [ ] args )
{
int ? x = ništavan ;
x ??= 3 ;
Konzola. WriteLine ( x ) ;
x ??= 4 ;
Konzola. WriteLine ( x ) ;
}
}
U ovom smo primjeru definirali cjelobrojnu varijablu x s mogućnošću null i dodijelili joj null vrijednost, a zatim upotrijebili operator ??= za dodjelu vrijednosti 3 varijabli a budući da je null. Prva izjava WriteLine() daje vrijednost x, koja je 3, a zatim ponovno koristi operator ??= za dodjelu vrijednosti 4 varijabli x. Međutim, budući da x već ima vrijednost 3, operacija dodjele se ne izvodi pa druga naredba WriteLine() daje vrijednost x, koja je još uvijek 3:
Zaključak
?? i ??= operatori u C# korisni su operatori koji pojednostavljuju kod i smanjuju potencijalne pogreške davanjem zadanih vrijednosti varijablama. ?? operator se koristi za pružanje zadane vrijednosti tipu vrijednosti null ili referentnom tipu koji može biti null. Operator ??= je skraćeni operator koji kombinira null-koalescentni operator ?? i operator dodjele =, i koristi se za dodjelu vrijednosti varijabli samo ako je varijabla null.