.NET Core 3.x og .NET Standard 2.1 støtter C# 8.0-syntaks, introduserer mange funksjonelle funksjoner og legger til nye funksjonssyntaks: Readonly-medlemmer, standard grensesnittmetoder, forbedringer av mønstergjenkjenning, attributtmønstre, Tuple-mønstre, posisjonsmønstre, bryteruttrykk, bruk av deklarasjoner, statiske lokale funksjoner, asynkrone flyter, indekser og intervaller, null merge-tildelinger, osv. Denne artikkelen vil forklare de nye kunnskapspunktene i C# 8.0.
Indeks og omfang
Følgende .NET-typer støtter både indekser og områder: Array, String, Span og ReadOnlySpan. Listen støtter indekser, men ikke intervaller
Eksempel 1: Bursdagen til personen som fikk ID-nummeret
Eksempel 2: Få innholdet i den siste biten av strengen
Eksempel 3: Fjern den siste biten
Bytte
uttrykk
Attributtmodus
Tuplemønster
Lokasjonsmodus
Noen typer inkluderer en dekonstrueringsmetode som dekonstruerer egenskapene til diskrete variabler. Hvis du har tilgang til Deconstruct-metoden, kan du bruke Position Patterns for å sjekke egenskapene til et objekt og bruke disse egenskapene til mønstre. Vurder følgende punktklasse som inneholder en dekonstrueringsmetode for å lage diskrete variabler for X og Y:
Vurder også følgende oppramsing av de ulike posisjonene som representerer kvadranten:
Følgende metode bruker posisjonsmønsteret for å trekke ut verdiene til x og y. Den bruker deretter når-klausulen for å bestemme kvadranten for det punktet:
Nullsammenslåingstildelinger
Konstruktøruttrykk
bruk av setning
Useding-deklarasjonen er en variabeldeklarasjon forutgått av using nøkkelordet. Den instruerer kompilatoren til å erklære variabler som skal håndteres på slutten av det lukkede omfanget. For eksempel er koden for å skrive en tekstfil som følger:
I det forrige eksempelet behandles filen når de riktige parentesene i metoden nås. Dette er slutten av området til den deklarerte filen. Den foregående koden er ekvivalent med følgende kode ved bruk av den klassiske useding-setningen:
I det forrige eksempelet behandles filen når de riktige parentesene knyttet til useding-setningen nås. I begge tilfeller vil kompilatoren generere et kall til Dispose(). Hvis uttrykket i ubruke-setningen ikke er tilgjengelig, vil kompilatoren generere en feil.
Ressurser
Innloggingen med hyperkoblingen er synlig.
Innloggingen med hyperkoblingen er synlig. |