.NET Core 3.x ja .NET Standard 2.1 toetavad C# 8.0 süntaksit, tutvustavad palju funktsionaalseid funktsioone ja lisavad uusi funktsioonide süntaksit: ainult lugemispõhised liikmed, vaikimisi liidese meetodid, mustrite sobitamise täiustused, atribuudimustrid, Tuple mustrid, positsioonimustrid, lülitite avaldised, deklaratsioonide kasutamine, staatilised lokaalfunktsioonid, asünkroonsed vood, indeksid ja vahemikud, nullliitmise määramised jne. See artikkel selgitab C# 8.0 uusi teadmiste punkte.
Indeks ja ulatus
Järgmised .NET tüübid toetavad nii indekseid kui ka vahemikke: Array, String, Span ja ReadOnlySpan. Nimekiri toetab indekseid, kuid mitte vahemikke
Näide 1: ID-numbri saanud isiku sünnipäev
Näide 2: Hangi stringi viimase biti sisu
Näide 3: Eemalda viimane bitt
Lüliti
avaldis
Atribuudi režiim
Tuple-muster
Asukoharežiim
Mõned tüübid sisaldavad Dekonstrueerimise meetodit, mis jagab selle omadused diskreetseteks muutujateks. Kui sul on ligipääs Deconstruct meetodile, saad kasutada positsioonimustreid, et kontrollida objekti omadusi ja kasutada neid mustrite jaoks. Vaatleme järgmist punktiklassi, mis sisaldab Dekonstrueerimise meetodit diskreetsete muutujate loomiseks X ja Y jaoks:
Samuti vaadeldakse järgmist kvadranti esindavate positsioonide loetelu:
Järgmine meetod kasutab positsioonimustrit x ja y väärtuste eraldamiseks. Seejärel kasutatakse selle punkti kvadrandi määramiseks when klauslit:
Nullliitmise määramised
Konstruktori avaldised
Väite kasutamine
Using deklaratsioon on muutuja deklaratsioon, millele eelneb märksõna using (kasutamine). See käsib kompilaatoril deklareerida muutujad, mida käsitletakse suletud ulatuse lõpus. Näiteks tekstifaili kirjutamise kood on järgmine:
Eelnevas näites töödeldakse faili siis, kui meetodi paremad sulgud on saavutatud. See on deklareeritud faili vahemiku lõpp. Eelnev kood on ekvivalentne järgmisele koodile, mis kasutab klassikalise kasutamise lauset:
Eelnevas näites töödeldakse faili siis, kui on jõudnud paremate sulgudeni, mis on seotud using lausega. Mõlemal juhul genereerib kompilaator kutse aadressile Dispose(). Kui using lause avaldist ei ole saadaval, tekitab kompilaator vea.
Ressursse
Hüperlingi sisselogimine on nähtav.
Hüperlingi sisselogimine on nähtav. |