Sdílet prostřednictvím


Kolekce a datové struktury

Úzce související data mohou být zpracována efektivněji při seskupení do kolekce. Namísto zapsání samostatného kódu pro zpracování každého jednotlivého objektu, můžete použít stejný kód ke zpracování všech prvků kolekce.

Chcete-li spravovat kolekci, použijte třídu System.Array a třídy v oborech názvů System.Collections, System.Collections.Generic a System.Collections.Concurrent pro přidání, odebrání a změnu ať už jednotlivých prvků, nebo rozsahu prvků v kolekci. Celou kolekci lze dokonce zkopírovat do jiné kolekce.

Některé třídy System.Collections mají možnosti řazení a většina je indexována. Správa paměti je automaticky zpracována a kapacita kolekce je rozšířena podle potřeby. Při přístupu členů kolekce poskytuje synchronizace bezpečný přístup z více vláken. Některé třídy System.Collections mohou generovat obálky, které zajistí, aby byla kolekce jen pro čtení nebo měla pevnou velikost. Jakákoli třída System.Collections může generovat vlastní výčet, který umožňuje jednoduchou iteraci přes jednotlivé prvky.

V .NET Framework verze 2.0, poskytují obecné kolekce tříd nové funkce a usnadňují vytvoření silně typovaných kolekcí. Viz obory názvů System.Collections.Generic a System.Collections.ObjectModel.

V .NET Framework verze 4, kolekce v oboru názvů System.Collections.Concurrent poskytují efektivní operace pro vlákna s bezpečným přístupem při načítání položek kolekce z více vláken.

Funkce LINQ to Objects vám umožní použít dotazy LINQ pro přístup k objektům v paměti na tak dlouho, dokud typ objektu implementuje rozhraní System.Collections.IEnumerable nebo System.Collections.Generic.IEnumerable<T>. Dotazy LINQ poskytují společný vzor pro přístupová data. Jsou obvykle více stručná a čitelná než standardní smyčky foreach a poskytují filtrování, řazení a seskupování schopností. Dotazy LINQ mohou také zvýšit výkon. Další informace naleznete v tématu LINQ to Objekty a Paralelní LINQ (PLINQ).

Příbuzná témata

Title

Popis

Definování kolekcí

Popisuje, co jsou typy kolekce a vysvětluje rozdíly mezi obecnými a neobecnými typy kolekce v knihovně tříd rozhraní .NET Framework.

Běžně používané typy kolekce

Popisuje běžně používané obecné a neobecné typy kolekce, například System.Array, System.Collections.Generic.List<T> a System.Collections.Generic.Dictionary<TKey, TValue>.

Kolekce bitů

Popisuje typy kolekce System.Collections.BitArray a System.Collections.Specialized.BitVector32.

Specializované kolekce

Popisuje kolekci se speciálním účelem, například System.Collections.Specialized.NameValueCollection, System.Collections.Specialized.StringDictionary a System.Collections.Specialized.StringCollection.

Kolekce pro bezpečný přístup z více vláken

Popisuje typy kolekce, například System.Collections.Concurrent.BlockingCollection<T> a System.Collections.Concurrent.ConcurrentBag<T>, které podporují bezpečný a účinný souběžný přístup z více vláken.

Vytváření a manipulace s kolekcemi

Popisuje, jak vybrat nejlepší typ kolekce, jak provádět výčty kolekce, jak použít kolekce více vlákny a jak třídit kolekce.

Kdy použít obecné kolekce

Popisuje použití obecných typů kolekce.

Odkaz

System.Array

System.Collections

System.Collections.Concurrent

System.Collections.Generic

System.Collections.Specialized

System.Linq