A .NET Core 3.x és a .NET Standard 2.1 támogatja a C# 8.0 szintaxist, számos funkcionális funkciót vezet be, és új szintaxist ad: Readonly tagok, alapértelmezett interfész módszerek, mintapárosítások, attribútumminták, Tuple minták, pozícióminták, kapcsolókifejezések, deklarációk használata, statikus helyi függvények, aszinkron áramlások, indexek és tartományok, null merge assignment stb. Ez a cikk bemutatja a C# 8.0 új tudáspontjait.
Index és hatókör
A következő .NET típusok támogatják mind az indexeket, mind a tartományokat: Tömb, String, Span és ReadOnlySpan. A lista támogatja az indexeket, de nem a tartományokat
1. példa: Az azonosító számot megkapó személy születésnapja
Példa 2: Szerezd meg a lánc utolsó bitjének tartalmát
3. példa: Távolítsa el az utolsó részt
Kapcsoló
kifejezés
Attribútummód
Tuplásmintázat
Helymeghatározási mód
Néhány típus tartalmaz Deconstruct módszert, amely tulajdonságait diszkrét változókra bontja. Ha hozzáférsz a Deconstruct metódushoz, a Position Patterns segítségével ellenőrizheted egy objektum tulajdonságait, és ezeket mintákhoz használhatod. Vegyük a következő pontosztályt, amely Deconstruct módszert tartalmaz X és Y diszkrét változók létrehozásához:
Vegyük figyelembe továbbá a kvadránst képviselő különböző pozíciók felsorolását:
A következő módszer a pozíciómintát használja x és y értékeinek kinyerésére. Ezután a when klauzulát használja az adott pont kvadránsának meghatározására:
Null merge assignment
Konstruktor kifejezések
Állítás használata
A using deklaráció egy változó deklaráció, amelyet a using kulcsszó előzi meg. A fordítót utasítja, hogy a zárt távcső végén kezelendő változókat jelentsen meg. Például a szövegfájl írásának kódja a következő:
Az előző példában a fájlt akkor dolgozzák fel, amikor elérjük a metódus jobb zárójeleit. Ez a bejelentett fájl tartományának vége. Az előző kód ekvivalens a következő kóddal a klasszikus használat utasítás használatával:
Az előző példában a fájlt akkor dolgozzák fel, amikor elérik a használó utasításhoz tartozó jobb zárójeleket. Mindkét esetben a fordító hívást generál a Dispose(). Ha a using utasításban szereplő kifejezés nem elérhető, a fordító hibát generál.
Erőforrások
A hiperlink bejelentkezés látható.
A hiperlink bejelentkezés látható. |