System.Collections.Immutable Przestrzeń nazw
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zawiera interfejsy i klasy definiujące kolekcje niezmienne.
Klasy
Struktury
Interfejsy
IImmutableDictionary<TKey,TValue> |
Reprezentuje niezmienną kolekcję par klucz/wartość. Pakiet NuGet: System.Collections.Immutable (informacje o niezmiennych kolekcjach i sposobie instalacji) |
IImmutableList<T> |
Reprezentuje listę elementów, których nie można modyfikować. Pakiet NuGet: System.Collections.Immutable (informacje o niezmiennych kolekcjach i sposobie instalacji) |
IImmutableQueue<T> |
Reprezentuje niezmienną kolekcję obiektów typu first-in i first-out. Pakiet NuGet: System.Collections.Immutable (informacje o niezmiennych kolekcjach i sposobie instalacji) |
IImmutableSet<T> |
Reprezentuje zestaw elementów, które można modyfikować tylko przez utworzenie nowego wystąpienia zestawu. Pakiet NuGet: System.Collections.Immutable (informacje o niezmiennych kolekcjach i sposobie instalacji) |
IImmutableStack<T> |
Reprezentuje niezmienną kolekcję last-in-first-out (LIFO). Pakiet NuGet: System.Collections.Immutable (informacje o niezmiennych kolekcjach i sposobie instalacji) |
Uwagi
W przypadku kolekcji niezmiennych można wykonywać następujące czynności:
- Udostępnianie kolekcji w taki sposób, że jej odbiorca może mieć pewność, że kolekcja nigdy się nie zmienia.
- Zapewnienie niejawnego bezpieczeństwa wątków w aplikacjach wielowątkowych (brak blokad wymaganych do uzyskiwania dostępu do kolekcji).
- Postępuj zgodnie z praktykami programowania funkcjonalnego.
- Zmodyfikuj kolekcję podczas wyliczania, upewniając się, że oryginalna kolekcja nie ulegnie zmianie.
Niezmienne klasy kolekcji są dostępne w ramach podstawowych bibliotek platformy .NET, jednak nie są częścią podstawowej biblioteki klas dystrybuowanej za pomocą programu .NET Framework. W przypadku aplikacji .NET Framework 4.6.2 i nowszych klasy są dostępne za pośrednictwem pakietów NuGet.