Le Collection ASP.NET sono delle raccolte di dati o di oggetti molto usate per la flessibilità che offrono rispetto agli array. Infatti, mentre il numero di elementi di un array rimane fisso nel corso dell’esecuzione del programma in una Collection è sempre possibile aggiungere un nuovo elemento.

Inoltre, in un array è possibile inserire solo elementi dello stesso tipo mentre alcuni tipi di Collection consentono di ospitare al loro interno dati di tipo diverso.

Tipi di raccolte o collection

Il C# dispone di diversi tipi di Collection, tra cui si può scegliere quella più adatta alle proprie esigenze:

  • Liste (List e ArrayList): elenco di elementi accessibili mediante la loro posizione
  • Dizionari: formati da una serie di coppie chiave/valore in cui ciascun valore è accessibile mediante una chiave
  • Code: raccolta di oggetti di tipo FIFO (First In First Out)
  • Pile: raccolta di oggetti di tipo LIFO (Last In First Out)

Quando i dati da memorizzare sono dello stesso tipo si consiglia di utilizzare una delle classi contenute nel namespace System.Collections.Generic, che sono:

  • List<T>
  • Dictionary<T key, T value>
  • Queue<T>
  • Stack<T>

Se invece, i dati da memorizzare sono di tipo diverso usare le classi disponibili in System.Collection, che memorizzano i dati all’interno di oggetti di tipo object, che sono:

  • ArrayList
  • Hashtable
  • Queue
  • Stack

Se è necessario accedere agli elementi da più thread allora usare le classi dello spazio dei nomi System.Collections.Concurrent.

Per creare una raccolta (Collection) usare la direttiva using, per includere lo spazio dei nomi relativo al tipo di raccolta che si intende utilizzare.

using System.Collections.Generic; // Tipizzate
using System.Collections; // Non Tipizzate
using System.Collections.Concurrent; // Thread safe

Un esempio di Collection ASP.NET

L’esempio seguente utilizza una Lista per memorizzare una serie di numeri interi a cui, in qualsiasi momento, è possibile aggiungerne altri mediante il metodo .Add().

Le collection ASP.NET

Le collection ASP.NET

 

Le liste dispongono di numerosi metodi con cui manipolare gli elementi contenuti.

Altre informazioni

Altre informazioni sono disponibili nel sito di MSDN alla pagina Raccolte.