Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Knihovna tříd .NET poskytuje řadu obecných tříd kolekcí v prostorech názvů System.Collections.Generic a System.Collections.ObjectModel. Podrobnější informace o těchto třídách naleznete v tématu Běžně používané typy kolekcí.
System.Collections.Generic
Mnoho obecných typů kolekcí je přímých analogů negenerických typů. Dictionary<TKey,TValue> je obecná verze Hashtable; používá obecnou strukturu KeyValuePair<TKey,TValue> pro výčet místo DictionaryEntry.
List<T> je obecná verze ArrayList. Existují obecné Queue<T> a Stack<T> třídy, které odpovídají negenerické verze.
Existují obecné a negenerické verze SortedList<TKey,TValue>. Obě verze jsou hybridem slovníků a seznamů. Obecná SortedDictionary<TKey,TValue> třída je čistý slovník a nemá žádný negenerický protějšk.
Obecná LinkedList<T> třída je skutečný propojený seznam. Nemá žádný negenerický protějšk.
System.Collections.ObjectModel
Obecná Collection<T> třída poskytuje základní třídu pro odvození vlastních obecných typů kolekcí. Třída ReadOnlyCollection<T> poskytuje snadný způsob, jak vytvořit kolekci jen pro čtení z libovolného IList<T> typu, který implementuje obecné rozhraní. Obecná KeyedCollection<TKey,TItem> třída poskytuje způsob, jak ukládat objekty, které obsahují vlastní klíče.
Další obecné typy
Obecná Nullable<T> struktura umožňuje používat typy hodnot, jako by mohly být přiřazeny null
. To může být užitečné při práci s databázovými dotazy, kde můžou chybět pole obsahující typy hodnot. Parametr obecného typu může být libovolný typ hodnoty.
Poznámka:
V jazyce C# a Visual Basic není nutné explicitně používat Nullable<T> , protože jazyk má syntaxi pro typy s možnou hodnotou null. Viz Nullable typy hodnot (referenční dokumentace C#) a Nullable typy hodnot (Visual Basic).
Generická ArraySegment<T> struktura poskytuje způsob, jak vymezit rozsah prvků v jednorozměrném poli s nulovým indexováním libovolného typu. Parametr obecného typu je typ prvků pole.
Obecný EventHandler<TEventArgs> delegát eliminuje potřebu deklarovat typ delegáta pro zpracování událostí, pokud vaše událost dodržuje model zpracování událostí používaný rozhraním .NET. Předpokládejme například, že jste vytvořili třídu odvozenou MyEventArgs
z EventArgs, pro uložení dat pro vaši událost. Událost pak můžete deklarovat následujícím způsobem:
public event EventHandler<MyEventArgs> MyEvent;
Public Event MyEvent As EventHandler(Of MyEventArgs)