System.Collections.Immutable Spazio dei nomi

Contiene interfacce e classi che definiscono raccolte non modificabili.

Classi

ImmutableArray

Fornisce i metodi per creare una matrice non modificabile, ovvero che non può essere modificata una volta che è stata creata.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

ImmutableArray<T>.Builder

Funzione di accesso alla matrice scrivibile che può essere convertita in un'istanza ImmutableArray<T> senza allocare memoria aggiuntiva.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

ImmutableDictionary

Fornisce un set di metodi di inizializzazione per le istanze della classe ImmutableDictionary<TKey,TValue>.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

ImmutableDictionary<TKey,TValue>.Builder

Rappresenta una mappa di hash che viene modificata con allocazioni di memoria minime o nulle e in grado di produrre o compilare su istanze di mappa di hash non modificabili in modo molto efficiente.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

ImmutableDictionary<TKey,TValue>

Rappresenta una raccolta non modificabile e non ordinata di chiavi e valori.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

ImmutableHashSet

Fornisce un set di metodi di inizializzazione per le istanze della classe ImmutableHashSet<T>.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

ImmutableHashSet<T>.Builder

Rappresenta un set di hash che viene modificato con allocazioni di memoria minime o nulle e in grado di produrre o compilare su istanze di set di hash non modificabili in modo molto efficiente.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

ImmutableHashSet<T>

Rappresenta un set di hash non modificabile e non ordinato.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

ImmutableInterlocked

Contiene meccanismi di scambio con interlock per le raccolte non modificabili.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

ImmutableList

Fornisce un set di metodi di inizializzazione per le istanze della classe ImmutableList<T>.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

ImmutableList<T>.Builder

Rappresenta un elenco che viene modificato con allocazioni di memoria minime o nulle e in grado di produrre o compilare su istanze di elenchi non modificabili in modo molto efficiente.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

ImmutableList<T>

Rappresenta un elenco non modificabile, ovvero un elenco di oggetti fortemente tipizzato accessibile in base all'indice.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

ImmutableQueue

Fornisce un set di metodi di inizializzazione per le istanze della classe ImmutableQueue<T>.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

ImmutableQueue<T>

Rappresenta una coda non modificabile.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

ImmutableSortedDictionary

Fornisce un set di metodi di inizializzazione per le istanze della classe ImmutableSortedDictionary<TKey,TValue>.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

ImmutableSortedDictionary<TKey,TValue>.Builder

Rappresenta un dizionario ordinato che viene modificato con allocazioni di memoria minime o nulle e in grado di produrre o compilare su istanze di dizionario ordinato non modificabili in modo molto efficiente.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

ImmutableSortedDictionary<TKey,TValue>

Rappresenta un dizionario ordinato non modificabile.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

ImmutableSortedSet

Fornisce un set di metodi di inizializzazione per le istanze della classe ImmutableSortedSet<T>.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

ImmutableSortedSet<T>.Builder

Rappresenta un set ordinato che consente di apportare modifiche con allocazioni di memoria minime o nulle e modifica o compila in modo efficiente set ordinati non modificabili.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

ImmutableSortedSet<T>

Rappresenta l'implementazione di un set ordinato non modificabile.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

ImmutableStack

Fornisce un set di metodi di inizializzazione per le istanze della classe ImmutableStack<T>.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

ImmutableStack<T>

Rappresenta uno stack non modificabile.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

Struct

ImmutableArray<T>.Enumerator

Enumeratore di matrice.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

ImmutableArray<T>

Rappresenta una matrice non modificabile, ovvero che non può essere modificata una volta che è stata creata.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

ImmutableDictionary<TKey,TValue>.Enumerator

Enumera il contenuto del dizionario non modificabile senza allocare memoria.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

ImmutableHashSet<T>.Enumerator

Enumera il contenuto del set di hash non modificabile senza allocare memoria.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

ImmutableList<T>.Enumerator

Enumera il contenuto di un albero binario.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

ImmutableQueue<T>.Enumerator

Enumera il contenuto di una coda non modificabile senza allocare memoria.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

ImmutableSortedDictionary<TKey,TValue>.Enumerator

Enumera il contenuto di un albero binario.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

ImmutableSortedSet<T>.Enumerator

Enumera il contenuto di un albero binario.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

ImmutableStack<T>.Enumerator

Enumera il contenuto di uno stack non modificabile senza allocare memoria.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

Interfacce

IImmutableDictionary<TKey,TValue>

Rappresenta una raccolta non modificabile di coppie chiave/valore.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

IImmutableList<T>

Rappresenta un elenco di elementi che non possono essere modificati.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

IImmutableQueue<T>

Rappresenta una raccolta di oggetti FIFO (First-In First-Out) non modificabile.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

IImmutableSet<T>

Rappresenta un set di elementi che è possibile modificare solo creando una nuova istanza del set.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

IImmutableStack<T>

Rappresenta una raccolta LIFO (Last In, First Out) non modificabile.

Pacchetto NuGet: System.Collections.Immutable (informazioni sulle raccolte non modificabili e su come installarle)

Commenti

Con le raccolte non modificabili, è possibile:

  • Condividere una raccolta in modo che il suo consumer possa essere sicuro che la raccolta non cambia mai.
  • Fornire thread safety implicita nelle applicazioni multithreading (non è necessario alcun blocco per accedere alle raccolte).
  • Seguire le procedure della programmazione funzionale.
  • Modificare una raccolta durante l'enumerazione, con la certezza che la raccolta originale non subirà modifiche.

Le classi di raccolta non modificabili sono disponibili come parte delle librerie .NET principali, ma non fanno parte della libreria di classi di base distribuita con .NET Framework. Per le app .NET Framework 4.6.2 e versioni successive, le classi sono disponibili tramite pacchetti NuGet.