Ez a cikk megvitatja, mik ezek az operátorok, és hogyan használhatók a C# programozásban.
Mi a ?? Operátor C#-ban?
A ?? operátor, más néven null-koalescing operátor, arra szolgál, hogy alapértelmezett értéket adjon egy nullálható értéktípushoz vagy egy referenciatípushoz, amely lehet null. Az operátor a bal oldali operandust adja vissza, ha az nem null; egyébként a jobb oldali operandust adja vissza, továbbá van egy példa ennek az operátornak a használatára C#-ban:
rendszer segítségével ;
osztály Programja
{
statikus üres Fő ( húr [ ] args )
{
int ? x = nulla ;
int és = x ?? 3 ;
Konzol. WriteLine ( és ) ;
}
}
Ebben a példában definiáltunk egy nullálható x egész változót, és null értéket rendeltünk hozzá, majd a ?? operátort, hogy alapértelmezett 3-as értéket adjon az y változónak, ha a nulla. Mivel a nulla, y értéke 3.
Mi ez?= Operátor a C#-ban
A ??= operátor egy gyorsított operátor, amely egyesíti a null-koaleszcencia operátort ?? és a hozzárendelési operátor =. Csak akkor használható érték hozzárendelésére egy változóhoz, ha a változó nulla, és ha a változónak már van értéke, akkor a hozzárendelési művelet nem történik meg, itt van egy példa az ??= operátor használatára C#-ban:
rendszer segítségével ;
osztály Programja
{
statikus üres Fő ( húr [ ] args )
{
int ? x = nulla ;
x ??= 3 ;
Konzol. WriteLine ( x ) ;
x ??= 4 ;
Konzol. WriteLine ( x ) ;
}
}
Ebben a példában definiáltunk egy nullálható x egész változót, és null értéket rendeltünk hozzá, majd az ??= operátor segítségével 3 értéket rendeltünk az a változóhoz, mivel az null. Az első WriteLine() utasítás az x értékét adja ki, amely 3, majd ismét az ??= operátort használja, hogy 4-et rendeljen az x változóhoz. Mivel azonban x értéke már 3, a hozzárendelési művelet nem kerül végrehajtásra, így a második WriteLine() utasítás x értékét adja ki, amely továbbra is 3:
Következtetés
A ?? és az ??= operátorok a C#-ban hasznos operátorok, amelyek egyszerűsítik a kódot és csökkentik a lehetséges hibákat azáltal, hogy alapértelmezett értékeket adnak a változóknak. A ?? Az operátor alapértelmezett értéket ad egy nullázható értéktípushoz vagy egy referenciatípushoz, amely lehet null. Az ??= operátor egy gyorsított operátor, amely a null-koalescing operátort egyesíti ?? és a hozzárendelési operátor =, és csak akkor használható érték hozzárendelésére egy változóhoz, ha a változó nulla.