Birden
fazla elimizde veri olduğu zaman biz bunları dizilerin içine atıp
kullanabiliriz. Bazende bu verilerde oynamamız gerekebilir. Örneğin elimizdeki
verilerden birini silmek istiyorum veya iki veri arasına bir veri yerleştirme
ihtiyacı olabilir. Bunu dizilerle yapmaya kalktığımızda bu bizi biraz
uğraştırır iken Arraylist olan koleksiyon sınıfları ile kolaylıkla yapabiliriz.
Bu koleksiyon sınıfını kullanabilmemiz için using.System.Collections; namespace’ni
eklememiz gerekiyor.
Örneğin;
illerin isimlerini tutan bir dizimin olsun. Biz bu diziye sonradan bir il ismi
ekleyelim, iki il ismi arasına bir il ismi ekleyelim ve index numarası belli
bir ilimizi silelim. Bunları arraylist koleysiyon sınıflarını kullanarak
yapalım.
Çözümü: private void Form1_Load(object sender, EventArgs e)
{
string[] iller = { "ankara", "adana", "antalya" };
ArrayList illerimiz = new ArrayList();
illerimiz.AddRange(iller);
illerimiz.Add("afyon");
illerimiz.Insert(0, "adıyaman");
illerimiz.Remove("adana");
illerimiz.RemoveAt(1);
MessageBox.Show(illerimiz[1].ToString());
}
Kod Açıklaması: string[] iller = { "ankara", "adana", "antalya" };
İlleri
tutan string tipinde bir dizi belirledik.
ArrayList illerimiz = new ArrayList();
Arraylist sınıfından illerimiz isminde bir sınıf
türettik.
illerimiz.AddRange(iller);
// dizinin elemanlarını tek tek bu sınıfa eklemektense arraylist sınıfında
AddRange metodunu kullanarak dizinin tamamını eklemiş olduk.
illerimiz.Add("afyon");
//add
metodu ile string tipindeki iller dizisini arraylist sınıfına eklemiştik. Bu
add metodu ile afyon ismi dizinin son elemanı olarak ekler.
illerimiz.Insert(0,
"adıyaman");
//insert
metodu ile Adıyaman ismini 0. İndeksten sonra ekler. Bizim 0. İndeksimiz Ankara
ismi oluyor. Yani Adıyaman ismini, Ankara isminden sonra ekliyor.
illerimiz.Remove("adana");
//Biz
arrayliste tuttuğumuz bir diziden sileceğimiz verinin ismini yazarak remove
metodu ile silebiliriz. Adana ismini diziden silmiş olduk.
illerimiz.RemoveAt(1);
//biz
sadece arraylist’lerden verinin ismini yazarak değil aynı zamanda indeks
numarasını yazarakta o veriyi diziden silmiş oluyoruz. Bunu removeat metodunda
parantez içine indeks numarası yazarsak elde etmiş oluruz.
MessageBox.Show(illerimiz[1].ToString());
//peki
mesaj kutusu arraylist’teki 1 nolu indeks numarası olan hangi veriyi getirir?
//dizimiz
başlangıçta Ankara,adana,Antalya biz bu diziye add metodu ile dizinin en //sonuna
afyon ilini ekledik. Sonra 0.indeksten sonra yani ankaradan sonra Adıyaman //ilini
ekledik. Dizi şu şekilde oldu; Ankara,Adıyaman,adana,Antalya,afyon.
//sonra
remove metodu ile adanayı sildik. Sonra 1. İndeks yani removeat metodu ile //adıyamanı
sildik. Dizi şöyle oldu. Ankata,Antalya,afyon. Mesaj kutusunda 1. İndeksi çağırdık.
Oda Antalya geliyor ekrana
Hiç yorum yok :
Yorum Gönder