C# SortedList Kullanımı Ve Örnekleri

Diğer programlama dillerine kıyasla .NET diziler konusunda çok iyi durumda bu konumuzda anlatılacak olan sortedlist’in kullanımı array list ile aynıdır bu objenin ek olarak yapmış olduğu içerisinde değerleri alfabetik sıraya göre sıralamasıdır.

Sortedlist verileri key-value(anahtar-deger) olarak saklanmaktadır. Sortedlist’in farkı içerisindeki verileri sıralı olarak saklamasıdır. Sıralama key değerine göre asc(a-z) türünde yapılmaktadır. Sıralama metin yada sayısal değer üzerinden yapılabilmektedir.

SortedList ile ilgili olarak nasıl oluşturulur soruna cevap verelim aşağıdaki örnekte ulkeler adında bir sortedlist oluşturduk ve bunları sırasıyla consol’da yazdıracağız.

Örneğe Geçmeden Önce SortedList’in verileri key-value olarak sakladığını söylemiştik bu özelliği temel olarak key-value veri saklanması ile bildiğimiz Dictionary’lerden geldiğini söyleyebiliriz SortedList sınıfı Temel olarak IDictionary<TKey, TValue> ve bunun gibi altta göreceğiniz üzere birçok arayüzden türetilmiş bir sınıftır ama temel alınan IDictionary’dir.

Alttaki örnekte görüleceği gibi ulkeler adında bir sortedlist nesnesi oluşturduk ve add metoduyla key-value değerlerini set ederek elemanları ekledik daha sonra bu eklediğimiz elemanları kullanıcı arayüzü(user interface) tarafında görüntülemek için Listbox nesnesinin DataTextField Propert’sine kullanıcıya gözükecek değer olan sortedlist’in value’sunu göstermek için ‘Value’ yazıyoruz DataValueField ise kullanıcı tarafında gözükmeyen eleman değiştiğinde keyide arkaplanda değişen alandır çoğu yerde ‘selectedvalue’ property’sinin kullanarak karşılaştırmalar yaparız sonra olarakda sortedlist’imizi Listbox’in DataSource(VeriKaynağı) propert’sine aktarıyoruz bu işlemin aynısını RadioButtonList, CheckBoxList, DropDownList gibi v.b nesnelere kolayca aktarabilirsiniz.

Veritürü olarak object yani tüm değerleri key value parametresi olarak geçebiliyorsunuz. key boş değer içeremez ve değiştirilemez ama value değeri değiştirilebilir ve boş bırakılabilir.

Add Metodu: key-value olarak yeni bir eleman eklemek için kullanılabilecek bir metotdur.

Kullanımı: Add(key,value)

Örnek:

ÖzellikAçıklama
CapacitySortedList’in alma ve ayarlama
CountSortedList’in eleman sayısını alma
IsFixedSizeSortedList’in sabit bir boyuta sahip olup olmadığını öğrenme
IsReadOnlySortedList’in sadece okunabilir olup olmadığını öğrenme.
ItemSortedList’den anahtar kullanarak alma ve ayarlama
KeysSortedList anahtarlarını alma.
ValuesSortedList değerlerini alma.
S.NMetod Adı / Amacı
1public virtual void Add( object key, object value );
SortedList’e yeni bir eleman eklemek için key ve value değerleri girilmektedir(key parametresi zorunludur)
2public virtual void Clear();
SortedList’deki tüm elemanları temizle.
3public virtual bool ContainsKey( object key );
Parametre olarak geçeceğimiz key değerinin SortedList’de olup olmadığını kontrol edip boolean değer döndürür.
4public virtual bool ContainsValue( object value );
Parametre olarak geçeceğimiz value değerinin SortedList’de olup olmadığını kontrol edip boolean değer döndürür.
5public virtual object GetByIndex( int index );
GetByIndex metoduna parametre olarak gireceğimiz index değerine karşılık olarak sortedlist’deki value değerini object olarak döndürür.
6public virtual object GetKey( int index );
GetKey metoduna parametre olarak gireceğimiz index değerine karşılık olarak sortedlist’deki key değerini object olarak döndürür.
7public virtual IList GetKeyList();
SortedListdeki tüm elemanların key değerlerini IList olarak döndürür.
8public virtual IList GetValueList();
Sortedlistdeki tüm elemanların value değerlerini IList olarak döndürür.
9public virtual int IndexOfKey( object key );
Parametre olarak geçeceğimiz key değerinin sortedlist’deki index değerini döndürür(sıfır tabanlı olarak)
10public virtual int IndexOfValue( object value );
Parametre olarak geçeceğimiz value değerinin sortedlist’deki index değerini döndürür(sıfır tabanlı olarak)
11public virtual void Remove( object key );
Parametre olarak geçeceğimiz key’e ait elemanı SortedList’den siler
12public virtual void RemoveAt( int index );
Parametre olarak geçeceğimiz index’e göre SortedList elemanını siler
13public virtual void TrimToSize();
SortedList’e tüm elemanlar eklendikten sonra kapasitesinin set edilmesi için kullanılması gereken metod’tur.

Örnek Console Uygulaması

Ekran Çıktısı

001: Murat ÖNER
002: M.Emin Öztürkler
003: Hakan Güner
004: Kasım Bozdemir
005: Emrah Bektaş
006: Burak Arıcı
007: Mücahit Akça
008: Tayfun Kır

Bunlar da hoşunuza gidebilir...

2 Cevaplar

  1. Kazim Şimşek dedi ki:

    Emeğinize sağlık çok faydalı bir makale olmuş

Bir Cevap Yazın