Insiemi e strutture di dati

Aggiornamento: novembre 2007

I dati strettamente correlati possono essere gestiti in modo più efficace quando sono raggruppati in un insieme. Anziché scrivere codice separato per gestire ogni singolo oggetto, è possibile utilizzare lo stesso codice per elaborare tutti gli elementi di un insieme.

Per la gestione di un insieme, utilizzare la classe Array e le classi System.Collections per aggiungere, rimuovere e modificare i singoli elementi dell'insieme o un intervallo di elementi. È perfino possibile copiare un intero insieme in un altro insieme.

Alcune classi Collections sono dotate di funzionalità di ordinamento e la maggior parte è indicizzata. La gestione della memoria è condotta automaticamente e la funzionalità di un insieme viene estesa in base alle necessità. La sincronizzazione fornisce la thread safety quando si accede ai membri dell'insieme. Alcune classi Collections possono generare wrapper che rendono l'insieme di sola lettura o di dimensioni fisse. Qualsiasi classe Collections può generare il proprio enumeratore che rende facile lo scorrimento degli elementi.

In .NET Framework versione 2.0 le classi di insiemi generici forniscono nuove funzionalità e consentono di creare con facilità insiemi fortemente tipizzati. Per informazioni, vedere gli spazi dei nomi System.Collections.Generic e System.Collections.ObjectModel.

La funzionalità LINQ to Objects consente di utilizzare le query LINQ per accedere agli oggetti in memoria purché il tipo dell'oggetto implementi IEnumerable o IEnumerable<T>. Le query LINQ forniscono un modello comune per l'accesso ai dati, sono in genere più concise e leggibili dei cicli standard foreach e forniscono funzioni di filtro, ordinamento e raggruppamento. Le query LINQ possono inoltre migliorare le prestazioni. Per ulteriori informazioni, vedere LINQ to Objects.

In questa sezione

Riferimenti

  • Array
    Vengono descritte le funzionalità più rilevanti della classe Array, che fornisce metodi per la creazione, la gestione, la ricerca e l'ordinamento di matrici, svolgendo quindi la funzione di classe base per tutte le matrici in Common Language Runtime.

  • System.Collections
    Viene fornita la documentazione di riferimento per lo spazio dei nomi System.Collections, in cui sono incluse interfacce e classi che definiscono diversi insiemi di oggetti.

  • System.Collections.Generic
    Viene fornita la documentazione di riferimento per lo spazio dei nomi System.Collections.Generic, in cui sono incluse interfacce e classi che definiscono insiemi generici.

  • System.Collections.Specialized
    Viene fornita la documentazione di riferimento per lo spazio dei nomi System.Collections.Specialized, in cui sono inclusi insiemi specializzati e fortemente tipizzati.