C# egy széles körben használt programozási nyelv, amelynek célja hatékony és robusztus alkalmazások létrehozása különböző platformokon. A nyelv számos fejlett funkcióval rendelkezik, beleértve a null koalescing operátor , amely segít az összetett kód egyszerűsítésében azáltal, hogy kompakt szintaxist biztosít a null értékek kezelésére. Ez az operátor népszerűvé vált a fejlesztők körében, akik egyszerű kezelési módot keresnek nulla projektjeikben.
Ez a cikk részletesen foglalkozik a null koalescing operátor .
Mi az a Null Coalescing Operátor a C#-ban
C#-ban a szimbólum a null koalescing operátor van ?? . Ha egy változó nulla, akkor a rendszer alapértelmezett értéket ad neki.
Például ha van egy változónk x amely lehet null, és szeretnénk hozzárendelni egy alapértelmezett 10-es értéket, ha nulla, akkor használhatjuk a null koalescing operátor alábbiak szerint:
int y = x ?? 10
Ez az utasítás hozzárendeli az értékét 10 y-hoz, ha x nulla, ellenkező esetben x értékét veszi fel.
A bal oldali operandus értékét adja vissza, ha az nem null. A jobb oldali operandust megvizsgálja, és az eredményt visszaadja, ha az nulla. Alternatív megoldásként, ha a bal oldali operandus kiértékelése nem nulla, akkor nem értékeli ki a jobb oldali operandusát.
A kód írásának hagyományos módja a null koalescing operátor ez:
ha ( az eredmény nulla )Visszatérés új lista < Személy > ( ) ;
Visszatérés eredmény;
Ezt egyetlen sorba sűríthetjük, amely tartalmazza a nem nulla alapértelmezett értéket és a null ellenőrzést is a segítségével null koalescing operátor :
Visszatérés eredmény?? új lista < Személy > ( ) ;
Néhány fontos szempont, amire emlékezni kell null koalescing operátor vannak:
- A változónak a ?? operátor.
- Az ??= operátor bal oldali operandusa nem lehet nem nullázható típusú.
- A null-koalescing operátort nem lehet túlterhelni.
- A null-koalescing operátor jobbra asszociatív. Ez azt jelenti, hogy az olyan kifejezéseket, mint például a ??= b ??= c, a rendszer a ??= (b ??= c) értékként értékeli.
A Null Coalescing Operator használata
Felhasználásai a null koalescing operátor vannak:
- Alapértelmezett értékek megadása
- A nulla referencia kivételek elkerülése
- A redundáns ha-else feltételek eltávolítása
1: Alapértelmezett értékek megadása
Ha nullálható típusokkal dolgozik, ha az érték null, használhatja a null koalescing operátor hogy a kivétel helyett alapértelmezett értéket adjon meg.
Rendszer használata;nyilvános osztály Program
{
public static void Main ( )
{
int? nullableValue = null;
int érték = nullableValue ?? 10 ;
Console.WriteLine ( 'Az érték:' + érték ) ;
}
}
A fenti példában az egész számot definiáljuk nullableValue változót, és adjunk neki nulla értéket. A null koalescing operátor Ezt követően az értékváltozó alapértelmezett értéke 10, ha a nullableValue null. Ezután az érték megjelenik a konzolon.
2: A nulla referencia kivételek elkerülése
A nulla értékek nulla hivatkozási kivételeket eredményezhetnek, ha kifinomult adatstruktúrákkal, például objektumokkal és tömbökkel dolgozik. Ezek a kivételek elkerülhetők a null koalescing operátor , amely alapértelmezett értékeket biztosít.
Rendszer használata;nyilvános osztály myClass
{
nyilvános karakterlánc Név { kap; készlet ; }
nyilvános int azonosító { kap; készlet ; }
}
nyilvános osztály Program
{
public static void Main ( )
{
myClass személy = null;
karakterlánc név = személy?.Név ?? 'Ismeretlen' ;
int id = személy?.ID ?? 0 ;
Console.WriteLine ( 'Név:' + név ) ;
Console.WriteLine ( 'azonosító:' + id ) ;
}
}
Név és ID attribútumai a az osztályom osztály a fenti kódban. A biztonságos hozzáférés érdekében a Név és ID a személy objektum tulajdonságait és megadja az alapértelmezett értékeket, ha azok nullak, akkor egy személy változót nullra állít, majd a null feltételes operátort (?.) és a null koalescing operátor (??). Ezután a konzol kinyomtatásra kerül a névvel és az id értékekkel.
3: A redundáns ha-else feltételek eltávolítása
Használhatja a null koalescing operátort is, hogy a kódot tömörebbé és olvashatóbbá tegye a redundáns szükségességének megszüntetésével. ha-más feltételek .
Például:
Rendszer használata;névtér Példa
{
osztály myClass
{
statikus üresség Fő ( húr [ ] args )
{
int? nullableValue = null;
int érték;
ha ( nullableValue ! = null )
{
érték = nullableValue.Value;
}
más
{
érték = 10 ;
}
Console.WriteLine ( 'Az érték:' + érték ) ;
}
}
}
A fenti kódban a null koalescing operátor ?? értékének hozzárendelésére szolgál nullableValue értékel. Ha nullableValue nem null, akkor az érték ugyanaz lesz, mint nullableValue . Ha nullableValue nulla, akkor az érték 10 lesz ha más feltételre már nincs szükség, a kód pedig rövidebb és könnyebben érthető.
Következtetés
A null koalescing operátor A C#-ban egy hatékony szolgáltatás, amely leegyszerűsíti a fejlesztők projektjeikben a null értékek kezelését. Ez az operátor kompakt, hatékony és rugalmas szintaxist biztosít az alapértelmezett értékek hozzárendeléséhez azokhoz a változókhoz, amelyek nullák. Használatával a null koalescing operátor , a fejlesztők olvashatóbb, karbantartható és hatékonyabb kódot írhatnak, így időt és erőfeszítést takaríthatnak meg a fejlesztési folyamat során.