Neměnné kolekce

Důležité

Toto téma bylo aktualizováno a aktualizovaný obsah lze nalézt v Neměnné kolekce článku.

Může být náročné udržovat proměnlivý stav pod kontrolou, pokud je zahrnuto více podprocesů. Obvyklým přístupem je využívání neměnného stavu, který může být předán volně mezi vlákny. Neměnná kolekce jsou odlišné od kolekce jen pro čtení v tom smyslu, že na rozdíl od kolekce jen pro čtení určeny poskytovatel nebo příjemce kolekce. Například pokud je výčet kolekce jen pro čtení, existuje možnost, že v jiném vlákně, způsobuje poškození dat lze změnit kolekci. V tomto scénáři nemůže dojít, pokud používáte neměnná kolekce.

Neměnná kolekce můžete:

  • Sdílet kolekci tak, aby bylo možno jeho spotřebitele kolekce se nikdy nezmění.

  • Poskytuje implicitní vláken ve vícevláknových aplikací (žádné zámky požadovaná pro přístup kolekce).

  • Dodržujte funkční programovací postupy.

  • Upravte kolekci během výčtu při zajištění nezmění původní kolekce.

Neměnná kolekce tříd jsou podporovány začínající .NET Framework 4.5. Použijte je pro vývoj aplikací, které cílí na klasické pracovní plochy, Windows Store, Přenosná knihovna tříd a Windows Phone 8.

Chcete-li nainstalovat neměnná kolekce

Neměnný třídy nejsou součástí knihovny základní třídy distribuovány pomocí rozhraní.NET Framework; jsou k dispozici prostřednictvím NuGet. Chcete-li nainstalovat tyto třídy:

  1. Otevřete projekt v sadě Visual Studio a vyberte Správa balíčků NuGet ze projektu nabídky.

  2. V levém podokně zvolte možnost Online.

  3. Volitelně můžete zvolit v poli rozevíracího seznamu v prostředním podokně zahrnují zkušební místo stabilní pouze. Tato možnost bude umožňují přístup k předprodejní verze nové třídy neměnná, jakmile budou k dispozici. (Chcete-li použít ImmutableArray je nutné zvolit zahrnují zkušební.)

  4. V pravém podokně použít hledání pole Najít Microsoft.Immutable.Collections (Microsoft.Bcl.Immutable) balíček.

  5. V prostředním podokně, vyberte Microsoft neměnná kolekcea pak zvolte nainstalovat.

Neměnný třídy

System.Collections.Immutable Obor názvů poskytuje typy obecných kolekcí neměnný, které lze použít pro tyto scénáře, včetně:

  • ImmutableArray(předprodejní verze)

  • ImmutableDictionary

  • ImmutableSortedDictionary

  • ImmutableHashSet

  • ImmutableList

  • ImmutableQueue

  • ImmutableSortedSet

  • ImmutableStack

Obor názvů obsahuje také mnoho podpůrných tříd. Například každý typ neměnná kolekce obvykle má přidružené Tvůrce typ, který umožňuje snadno a efektivně vytvořit a pracovat s kolekcí před provedením neměnný. Najdete System.Collections.Immutable obor názvů pro úplný seznam typů a odkazy na referenční obsah.

Viz také

Koncepty

Generování kolekcí v architektuře .NET Framework

Další zdroje

Kolekce a datové struktury