Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A .NET osztálykönyvtár számos általános gyűjteményosztályt biztosít a System.Collections.Generic és System.Collections.ObjectModel névterekben. Az osztályokkal kapcsolatos részletesebb információkért lásd a gyakran használt gyűjteménytípusok című témakört.
System.Collections.Generic
Az általános gyűjteménytípusok közül sok a nemgenerikus típusok közvetlen analógjai. Dictionary<TKey,TValue> az Hashtable általános verziója; ahelyett, hogy KeyValuePair<TKey,TValue>-t használna, a generikus struktúrát DictionaryEntry alkalmazza az enumeráláshoz.
List<T> egy általános verziója a ArrayList-nek. Vannak olyan általános Queue<T> és Stack<T> osztályok, amelyek megfelelnek a nemgenerikus verzióknak.
A általános és nemgenerikus verziói is léteznek SortedList<TKey,TValue>. Mindkét verzió egy szótár és egy lista hibrid változata. Az SortedDictionary<TKey,TValue> általános osztály egy tiszta szótár, és nincs nemgenerikus megfelelője.
Az LinkedList<T> általános osztály egy igaz csatolt lista. Nincs nemgenerikus megfelelője.
System.Collections.ObjectModel
Az Collection<T> általános osztály egy alaposztályt biztosít a saját általános gyűjteménytípusok származtatásához. Az ReadOnlyCollection<T> osztály egyszerű módot kínál arra, hogy írásvédett gyűjteményt állítson elő bármilyen olyan típusból, amely megvalósítja az IList<T> általános felületet. Az KeyedCollection<TKey,TItem> általános osztály lehetővé teszi a saját kulcsokat tartalmazó objektumok tárolását.
Egyéb általános típusok
Az Nullable<T> általános struktúra lehetővé teszi, hogy az értéktípusokat úgy használja, mintha hozzájuk lehetne rendelni nullőket. Ez hasznos lehet adatbázis-lekérdezések használatakor, ahol az értéktípusokat tartalmazó mezők hiányoznak. Az általános típusparaméter bármilyen értéktípus lehet.
Megjegyzés:
A C# és a Visual Basic esetében nem szükséges explicit módon használni Nullable<T> , mert a nyelv szintaxisa null értékű típusokhoz tartozik. Lásd: Null értékű típusok (C#-referencia) és Nullható értéktípusok (Visual Basic).
Az ArraySegment<T> általános struktúra lehetővé teszi, hogy egy tetszőleges típusú, egydimenziós, nulla alapú tömbön belül elhatárolja az elemek tartományát. Az általános típusparaméter a tömb elemeinek típusa.
Az EventHandler<TEventArgs> általános delegált kiküszöböli az igényt, hogy delegált típust deklaráljon az események kezelésére, ha az esemény a .NET által használt eseménykezelési mintát követi. Tegyük fel például, hogy létrehozott egy MyEventArgs osztályt, amely a(z) EventArgs-ből származtatva tárolja az esemény adatait. Ezután a következőképpen deklarálhatja az eseményt:
public event EventHandler<MyEventArgs> MyEvent;
Public Event MyEvent As EventHandler(Of MyEventArgs)