.NET’te genel koleksiyonlar
.NET sınıf kitaplığı ve System.Collections.ObjectModel ad alanları içinde System.Collections.Generic bir dizi genel koleksiyon sınıfı sağlar. Bu sınıflar hakkında daha ayrıntılı bilgi için bkz . Yaygın Kullanılan Koleksiyon Türleri.
System.Collections.Generic
Genel koleksiyon türlerinin çoğu, genel olmayan türlerin doğrudan analoglarıdır. Dictionary<TKey,TValue>, öğesinin Hashtablegenel bir sürümüdür; yerine numaralandırma DictionaryEntryiçin genel yapısını KeyValuePair<TKey,TValue> kullanır.
List<T> genel bir sürümüdür ArrayList. Genel ve Stack<T> genel olmayan sürümlere karşılık gelen sınıflar Queue<T> vardır.
genel ve nongeneric sürümleri SortedList<TKey,TValue>vardır. Her iki sürüm de bir sözlüğün ve listenin karmalarıdır. Genel SortedDictionary<TKey,TValue> sınıf saf bir sözlüktür ve genel olmayan bir karşılığı yoktur.
Genel LinkedList<T> sınıf, gerçek bir bağlı listedir. Bunun nongenerik bir karşılığı yoktur.
System.Collections.ObjectModel
Genel Collection<T> sınıf, kendi genel koleksiyon türlerinizi türetmek için bir temel sınıf sağlar. sınıfı, ReadOnlyCollection<T> genel arabirimi uygulayan herhangi bir türden salt okunur koleksiyon oluşturmanın IList<T> kolay bir yolunu sağlar. Genel KeyedCollection<TKey,TItem> sınıf, kendi anahtarlarını içeren nesneleri depolamak için bir yol sağlar.
Diğer genel türler
Genel Nullable<T> yapı, değer türlerini atanmış null
gibi kullanmanıza olanak tanır. Bu, değer türleri içeren alanların eksik olabileceği veritabanı sorgularıyla çalışırken yararlı olabilir. Genel tür parametresi herhangi bir değer türü olabilir.
Not
C# ve Visual Basic'te, dilin null atanabilir türler için söz dizimi olduğundan açıkça kullanılması Nullable<T> gerekmez. Bkz . Null atanabilir değer türleri (C# başvurusu) ve Null atanabilir değer türleri (Visual Basic).
Genel ArraySegment<T> yapı, herhangi bir türde tek boyutlu, sıfır tabanlı bir dizi içindeki bir öğe aralığını sınırlandırmak için bir yol sağlar. Genel tür parametresi, dizinin öğelerinin türüdür.
Genel EventHandler<TEventArgs> temsilci, olayınız .NET tarafından kullanılan olay işleme desenine uyarsa olayları işlemek için bir temsilci türü bildirme gereksinimini ortadan kaldırır. Örneğin, olayınıza ait verileri tutmak için öğesinden EventArgstüretilmiş bir MyEventArgs
sınıf oluşturduğunuzu varsayalım. Ardından olayı aşağıdaki gibi bildirebilirsiniz:
public:
event EventHandler<MyEventArgs^>^ MyEvent;
public event EventHandler<MyEventArgs> MyEvent;
Public Event MyEvent As EventHandler(Of MyEventArgs)