C# Windows Form: Koleksiyonlar (Collections)

C# dilinde koleksiyonlar (collections), birden fazla veriyi saklamak için kullanılan özel veri yapılarıdır. Koleksiyonlar, dizilere göre daha esnek yapılar sunar. Örneğin, koleksiyonlar dinamik olarak büyüyebilir, farklı türdeki verilere sahip olabilir ve daha çeşitli fonksiyonlar içerir. Windows Form uygulamalarında koleksiyonlar, verileri saklamak, üzerinde işlem yapmak ve kullanıcının etkileşime girmesi için oldukça faydalıdır.

Bu yazıda, C# Windows Form uygulamalarında koleksiyonların nasıl kullanılacağına dair faydalı bir içerik sunacağım.


Koleksiyon Nedir?

Koleksiyonlar, birden fazla veriyi tek bir değişkende tutmak için kullanılan yapılardır. C# dilinde koleksiyonlar, System.Collections ve System.Collections.Generic isim alanlarında (namespace) bulunur. Koleksiyonlar, eleman ekleme, silme, arama, sıralama gibi işlemleri daha kolay ve esnek bir şekilde yapmanıza olanak tanır.


Koleksiyon Türleri

C# dilinde kullanılan en yaygın koleksiyon türleri şunlardır:

  1. ArrayList: Her türden öğeyi saklayabilen dinamik bir koleksiyondur.
  2. List<T>: Genellikle aynı türdeki öğeleri saklamak için kullanılır.
  3. Dictionary<TKey, TValue>: Anahtar-değer çiftleri şeklinde veri saklar.
  4. Queue<T>: Kuyruk yapısına benzer, FIFO (First-In-First-Out) sırasına göre çalışır.
  5. Stack<T>: Yığın yapısına benzer, LIFO (Last-In-First-Out) sırasına göre çalışır.
  6. HashSet<T>: Aynı öğeyi birden fazla kez saklamaz, benzersiz öğeler içerir.

Koleksiyonları Kullanmak

Şimdi, C# Windows Form uygulamanızda koleksiyonları nasıl kullanabileceğiniz ile ilgili birkaç örnek üzerinden geçelim.


1. List<T> Koleksiyonu Kullanımı

List<T>, genellikle aynı türdeki verilerin saklanması için kullanılan bir koleksiyondur. Listeler, dinamik olarak eleman ekleyebilir, çıkarabilir ve sıralama işlemleri gerçekleştirebilirsiniz.

List<T> Tanımlaması:

List<string> isimler = new List<string>();  // Boş bir liste oluşturuluyor

Eleman Ekleme ve Listeyi Görüntüleme:

isimler.Add("Ahmet");
isimler.Add("Mehmet");
isimler.Add("Ayşe");

foreach (string isim in isimler)
{
    MessageBox.Show(isim);
}

Bu örnekte, Add metodu ile listeye öğeler ekledik ve foreach döngüsü ile listeyi ekrana yazdırdık.


2. Dictionary<TKey, TValue> Koleksiyonu Kullanımı

Dictionary<TKey, TValue>, anahtar-değer çiftlerini saklamak için kullanılır. Her bir öğe, bir anahtar (key) ve bir değer (value) çiftinden oluşur.

Dictionary<TKey, TValue> Tanımlaması:

Dictionary<int, string> ogrenciler = new Dictionary<int, string>();

Anahtar-Değer Çifti Ekleme ve Kullanma:

ogrenciler.Add(1, "Ali");
ogrenciler.Add(2, "Veli");
ogrenciler.Add(3, "Ayşe");

MessageBox.Show(ogrenciler[2]);  // Anahtar değeri ile öğrenci ismini çağırıyoruz

Bu örnekte, Add metodu ile öğrenci numarası ve ismi şeklinde anahtar-değer çiftlerini ekledik. Sonra bir anahtarı kullanarak değeri görüntüledik.


3. Queue<T> Koleksiyonu Kullanımı

Queue<T>, FIFO (First-In-First-Out) mantığına göre çalışır. İlk eklenen öğe ilk çıkarılır.

Queue<T> Tanımlaması:

Queue<string> kuyruk = new Queue<string>();

Eleman Ekleme ve Çıkarma:

kuyruk.Enqueue("Ahmet");
kuyruk.Enqueue("Mehmet");
kuyruk.Enqueue("Ayşe");

MessageBox.Show(kuyruk.Dequeue());  // İlk eklenen öğe çıkarılır ve ekrana yazdırılır

Burada, Enqueue ile öğeleri kuyruğa ekledik, Dequeue ile ise ilk öğeyi çıkardık.


4. Stack<T> Koleksiyonu Kullanımı

Stack<T>, LIFO (Last-In-First-Out) mantığına göre çalışır. Son eklenen öğe ilk çıkarılır.

Stack<T> Tanımlaması:

Stack<string> yigin = new Stack<string>();

Eleman Ekleme ve Çıkarma:

yigin.Push("Ahmet");
yigin.Push("Mehmet");
yigin.Push("Ayşe");

MessageBox.Show(yigin.Pop());  // Son eklenen öğe çıkarılır ve ekrana yazdırılır

Burada, Push ile öğeleri yığına ekledik ve Pop ile son eklenen öğeyi çıkardık.


5. HashSet<T> Koleksiyonu Kullanımı

HashSet<T>, her öğeyi yalnızca bir kez tutan koleksiyon türüdür. Aynı öğe birden fazla kez eklenemez.

HashSet<T> Tanımlaması:

HashSet<string> isimlerSeti = new HashSet<string>();

Eleman Ekleme ve Kontrol Etme:

isimlerSeti.Add("Ahmet");
isimlerSeti.Add("Mehmet");
isimlerSeti.Add("Ayşe");
isimlerSeti.Add("Ahmet");  // Aynı öğe ikinci kez eklenemez

foreach (string isim in isimlerSeti)
{
    MessageBox.Show(isim);
}


Sonuç

C# Windows Form uygulamalarında koleksiyonlar, veri yönetimi ve kullanıcı etkileşimi açısından çok kullanışlı araçlardır. Koleksiyonlar, özellikle dinamik veri işlemlerinde ve büyük veri setleriyle çalışırken çok faydalıdır. Yukarıda verdiğimiz örneklerde, C# dilinde en yaygın koleksiyon türlerini ve bunların kullanımını öğrendiniz. Koleksiyonları doğru bir şekilde kullanmak, yazılım geliştirme sürecinde verimliliğinizi artıracaktır.

Leave a Reply

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir