.NET Core 3.x ir .NET Standard 2.1 palaiko C# 8.0 sintaksę, pristato daug funkcinių funkcijų ir prideda naujų funkcijų sintaksės: tik skaitomi nariai, numatytieji sąsajos metodai, šablonų atitikimo patobulinimai, atributų modeliai, tuple modeliai, padėties modeliai, perjungimo išraiškos, deklaracijų naudojimas, statinės vietinės funkcijos, asinchroniniai srautai, indeksai ir diapazonai, nuliniai suliejimo priskyrimai ir kt. Šiame straipsnyje bus paaiškinti nauji C# 8.0 žinių punktai.
Rodyklė ir taikymo sritis
Šie .NET tipai palaiko indeksus ir diapazonus: Array, String, Span ir ReadOnlySpan. Sąrašas palaiko indeksus, bet ne diapazonus
1 pavyzdys: ID numerį gavusio asmens gimtadienis
2 pavyzdys: paskutinio eilutės bito turinio gavimas
3 pavyzdys: paskutinio bito pašalinimas
jungiklis
išraiška
Atributo režimas
Tuple raštas
Vietos režimas
Kai kuriuose tipuose yra dekonstrukcijos metodas, kuris dekonstruoja jo savybes į atskirus kintamuosius. Jei turite prieigą prie metodo Dekonstruoti, galite naudoti padėties šablonus, kad patikrintumėte objekto ypatybes ir naudotumėte šias ypatybes modeliams. Apsvarstykite šią Point klasę, kurioje yra Deconstruct metodas, skirtas X ir Y diskrečiams kintamiesiems kurti:
Taip pat apsvarstykite šį įvairių pozicijų, vaizduojančių kvadrantą, sąrašą:
Šis metodas naudoja padėties modelį x ir y reikšmėms išgauti. Tada jis naudoja kai sąlygą, kad nustatytų to taško kvadrantą:
Nuliniai suliejimo priskyrimai
Konstruktoriaus išraiškos
Naudojant pareiškimą
Naudojant deklaraciją yra kintamojo deklaracija, prieš kurią yra raktažodis naudojant. Jis nurodo kompiliatoriui deklaruoti kintamuosius, kurie turi būti tvarkomi uždaros apimties pabaigoje. Pavyzdžiui, tekstinio failo rašymo kodas yra toks:
Ankstesniame pavyzdyje failas apdorojamas, kai pasiekiami tinkami metodo skliaustai. Tai yra deklaruoto failo diapazono pabaiga. Ankstesnis kodas yra lygiavertis šiam kodui, naudojant klasikinį teiginį:
Ankstesniame pavyzdyje failas apdorojamas, kai pasiekiami dešinieji skliaustai, susieti su sakiniu naudojant. Abiem atvejais kompiliatorius sugeneruos iškvietimą į Dispose(). Jei išraiška sakinyje naudojant nepasiekiama, kompiliatorius sugeneruos klaidą.
Išteklių
Hipersaito prisijungimas matomas.
Hipersaito prisijungimas matomas. |