ArrayList ve struct örneği

Bu makalede ArrayList sınıfı ve struct yapısını uygulamada nasıl kullanırız basit bir örnek ile anlatayım.

Struct yapısnı bir çok kaynaktan okuyup aklınızda bir şeyler canlanmıştır. Burada bende tekrar etmek istemiyorum. Ama birşeyler söylemeden de geçmek istemiyorum. Struct şöyle de düşünebilirsiniz; listview e kayıt edeceğimiz bir liste şeklinde kayıt kümemiz olsun. Bu veriyi listview kontrolünü kullanmadan, liste şeklinde ram üzerinde tutabilir , gerektiği zamanda sabit bir yere toplu bir şekilde kayıt edebilirsiniz. Struct’ı böyle düşünebilirsiniz.

Arraylist ise klasik dizilere nazaran daha esnek bir yapıya sahiptir. Arraylist sayesinde sabit sınır tanımlamadan istediğiniz kadar kullanabilirsiniz.

Struct yanında arralist i, baklavanın yanında dondurma gibi düşünebilirsiniz. İkisini kullanarak satırlarca yazdığınız kodlar yerine birkaç satırda işinizi görebilirsiniz. Fazla uzatmadan örnek uygulamamıza geçmek istiyorum. Öncelikle resimdeki gibi form ekranı düzenleyerek başlayabiliriz. Burada yapılan iş kişilerin ad, soyad, memleket gibi bilgilerini tutmakta.

Bu bilgileri liste şeklin de tutabilmek için struct yapısını tanımlayalım.

1
2
3
4
5
6
7
8
 struct kisiler
{
public string ad, soyad, memleket;
public override string ToString()
{
return ad + soyad + memleket;
}
}

Ardından arraylist ile oluşturduğumuz yapı şeklinde listeye ekleyelim.

1
2
3
4
5
6
7
8
9
10
11
12
//using System.Collections; eklemeyi unutmayın

ArrayList kayitlar = new ArrayList();
private void btnekle_Click(object sender, EventArgs e)
{
kisiler kisi;
kisi.ad = txtad.Text;
kisi.soyad = txtsoyad.Text;
kisi.memleket = txtmemleket.Text;

kayitlar.Add(kisi);
}

Böylelikle istediğiniz kadar veri ekleyip tutabilirsiniz. Tutuğunuz bu verileri listview kontrolünde göstermek için listele ismini verdiğim buton olayına alttaki kodları yazıyoruz.

1
2
3
4
5
6
7
8
9
10
11
12
 private void btnlistele_Click(object sender, EventArgs e)
{
foreach (kisiler item in kayitlar)
{
ListViewItem lv = new ListViewItem();
lv.Text = item.ad.ToString();
lv.SubItems.Add(item.soyad.ToString());
lv.SubItems.Add(item.memleket.ToString());
listView1.Items.Add(lv);
}

}

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir