.NET Core 3.x e .NET Standard 2.1 supportano la sintassi C# 8.0, introducono molte funzionalità funzionali e aggiungono nuova sintassi di funzionalità: membri solo di lettura, metodi di interfaccia predefiniti, miglioramenti per il pattern matching, pattern di attributi, pattern Tuple, pattern di posizione, espressioni di switch, uso di dichiarazioni, funzioni locali statiche, flussi asincroni, indici e intervalli, assegnazioni di null merge, ecc. Questo articolo spiegherà i nuovi punti di conoscenza di C# 8.0.
Indice e ambito
I seguenti tipi .NET supportano sia indici che intervalli: Array, String, Span e ReadOnlySpan. La lista supporta indici, ma non intervalli
Esempio 1: La data di nascita della persona che ha ottenuto il numero di identificazione
Esempio 2: Ottieni il contenuto dell'ultimo pezzo della stringa
Esempio 3: Rimuovere l'ultimo bit
Commutatore
espressione
Modalità attributi
Motivo a tupla
Modalità di localizzazione
Alcuni tipi includono un metodo Decostruzione che decostruisce le sue proprietà in variabili discrete. Se hai accesso al metodo Deconstruct, puoi usare Position Patterns per controllare le proprietà di un oggetto e usare quelle proprietà per i pattern. Consideriamo la seguente classe Point che contiene un metodo Deconstruct per creare variabili discrete per X e Y:
Considera anche la seguente enumerazione delle varie posizioni che rappresentano il quadrante:
Il metodo seguente utilizza il pattern di posizione per estrarre i valori di x e y. Successivamente utilizza la clausola when per determinare il quadrante di quel punto:
Assegnazioni di fusione nulle
Espressioni costruttori
Uso dell'enunciato
La dichiarazione using è una dichiarazione variabile preceduta dalla parola chiave using. Istruisce il compilatore a dichiarare le variabili da gestire alla fine dell'ambito chiuso. Ad esempio, il codice per scrivere un file di testo è il seguente:
Nell'esempio precedente, il file viene elaborato quando si raggiungono le parentesi corrette del metodo. Questa è la fine dell'intervallo del file dichiarato. Il codice precedente è equivalente al seguente codice usando l'affermazione classica usando:
Nell'esempio precedente, il file viene elaborato quando si raggiungono le parentesi corrette associate all'istruzione using. In entrambi i casi, il compilatore genererà una chiamata a Dispose(). Se l'espressione nell'istruzione using non è disponibile, il compilatore genererà un errore.
Risorse
Il login del link ipertestuale è visibile.
Il login del link ipertestuale è visibile. |