Megosztás a következőn keresztül:


Általános gyűjtemények a .NET-ben

A .NET-osztálytár számos általános gyűjteményosztályt biztosít a névterekben és System.Collections.ObjectModel a System.Collections.Generic 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> a < a0 Hashtable/> általános verziója; az általános struktúrát KeyValuePair<TKey,TValue> használja az enumeráláshoz ahelyett DictionaryEntry, hogy a .

List<T> A ArrayList/> általános verziója. 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.

Feljegyzé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 meghatalmazott nem szükséges deklarálnia egy delegálttípust az események kezeléséhez, 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, amelyből EventArgsszá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 EventHandler<MyEventArgs> MyEvent;
Public Event MyEvent As EventHandler(Of MyEventArgs)

Lásd még