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 |
---|---|
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. |
|
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>. |
|
Popisuje typy kolekce System.Collections.BitArray a System.Collections.Specialized.BitVector32. |
|
Popisuje kolekci se speciálním účelem, například System.Collections.Specialized.NameValueCollection, System.Collections.Specialized.StringDictionary a System.Collections.Specialized.StringCollection. |
|
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. |
|
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. |
|
Popisuje použití obecných typů kolekce. |