.Net core 3.0 lega la sua uscita a C# 8. Come tutti gli aggiornamenti che il linguaggio porta con se, troviamo una serie di nuove funzionalità ed arricchimenti.
Uno dei primi miglioramenti riguarda la sintassi utilizzata negli using. In particolar modo, quando abbiamo a che fare con classi che implementano IDisposable l’utilizzo di using è consigliato, in modo da liberare le risorse subito dopo il loro utilizzo. Questo approccio, può innescare l’utilizzo di una serie di using (e soprattutto di parentesi graffe annidate) che possono essere illegibile il codice. Con C#8 è possibile dichiare le variabili facendole precedere dalla parola chiave using, e successivamente utilizzarle all’interno del codice. Quando terminarà lo scope della funzione, le risorse verranno liberate.
static void MyFunction()
{
using Stream s1 = File.OpenRead("helloWorld.txt");
using Stream s2 = new MemoryStream();
s1.CopyTo(target);
// etc...
}Ovviamente, nell’esempio, lo scope terminerà quando la funzione uscirà dallo stack. Se volessimo modificare il comportamento per liberare le risorse prima, sarà sufficiente racchiuderle tra parantesi graffe.
Di seguito le nuove implementazioni, dettagliate all’interno di singoli post: