Programmazione Asincrona con Async e Await

L’introduzione di async e await consente di scrivere codice asincrono, come se si trattasse di codice sincrono

Non sempre però l’utilizzo della Programmazione Asincrona con Async e Await viene utilizzata in maniera appropriata: è necessario seguire alcune linee guida per evitare di incappare in problemi non sempre di facili risoluzione.

Nei prossimi articoli tratteremo alcuni errori tipici dovuti all’utilizzo non proprio appropriato delle keyword async-await.

Continua a leggere Programmazione Asincrona con Async e Await

C# – Tuple

Se da un metodo dobbiamo ritornare più di un valore possiamo utilizzare uno dei seguenti modi:

  • utilizzare un parametro con la parola chiave out (passaggio per riferimento)
  • ritornare una struttura dati o una classe
  • ritornare un tipo anonimo tramite un tipo dinamico (sconsigliato!)

La quarta soluzione possibile sono le tuple, introdotte all’interno del framework 4.0 e referenziate all’interno di System.Tuple.

Continua a leggere C# – Tuple

Interfacce custom e generics

Nell’articolo precedente abbiamo introdotto i generics.  In questo nuovo articolo introduciamo le interfacce generiche.

Nulla di particolarmente complesso, è sufficiente definire nel modo tradizionale l’interfaccia, indicando però un parametro generico:

Continua a leggere Interfacce custom e generics

I generics c#

I generics consentono di sviluppare parti di codice independenti dal tipo dei dati e trovano la loro naturale applicazione nel riuso del codice.

Un contenitore di oggetti generici è indipendente dal tipo utilizzato: gli oggetti generici consentono di scrivere codice una sola volta e di poterlo riutilizzare con tutte le tipologie di dato passato in ingresso.

In questo articolo descriveremo come implementare classi / metodi generici.

Quando si crea un’istanza di una classe generica è necessario indicare il tipo dell’oggetto che dovrà essere gestito: l’indicazione viene data utilizzando il segnaposto generico T.

Continua a leggere I generics c#