List Nedir?
Last updated
Was this helpful?
Last updated
Was this helpful?
Was this helpful?
Koleksiyon sınıfları özel tasarlanmış nesneleri ve onlara ait olan görevleri yerine getirmek için oluşturulmuş olan nesnelerdir. List Class System.Collections.Generic isim uzayı içinde tanımlanmış metodlar, özellikler ve diğer sınıflarda olduğu gibi insert, remove, search vb. nesneleri barındırmaktadır. List class diziler(array) ve veri yapıları (data structure) nesneleri yerine kullanılır. List sınıfları kullanıldığında dizi üzerindeki boyutundaki esneklik yanı sıra ek özellikleri de kolaylık sağlamaktadır.
C# List < T > sınıfı nesnelerin türünü oluşturulduğunda belirtme zorunluluğu göstermektedir.
T parametresi listedeki nesnelerin türünü ifade etmektedir.
List<int> sayilar = new List<int>();
//int
List<int> sayilar = new List<int>();
sayilar.Add(12);
sayilar.Add(42);
sayilar.Add(32);
sayilar.Add(89);
//string
List<string> isimler = new List<string>();
isimler.Add("Ali");
isimler.Add("Ahmet");
isimler.Add("Mehmet");
isimler.Count;
foreach (string isim in isimler)
{
MessageBox.Show(isim);
}
int toplam=0;
for (int i = 0; i < sayilar.Count; i++)
{
toplam+=sayilar[i];
}
MessageBox.Show(sayilar);
Remove Silinmesini istenilen değeri siler. Silinecek değer liste içinde birden fazla olması durumunda ilk değeri kaldırır. Bu metodu genellikle referans tipler ile değer çıkarmak için kullanılır. Fakat değer tipleri ile de kullanılabilir.
isimler.Remove("Mehmet");
sayilar.Remove(42);
RemoveAt silinecek index numarasını parametre olarak alır.
isimler.RemoveAt(2); // index sırası 2 olan değeri siler.
isimler.RemoveAt(0); // ilk sıradaki değeri siler.
List.Contains() metodunu kullanarak bir nesnenin listede olup olmadığını kontrol ettirebilirsiniz.
if (isimler.Contains("Ahmet"))
{
MessageBox.Show("Ahmet bu listede mevcuttur.");
}
BinarySearch metodu, kendisine verilen değerin listede kaçıncı sırada olduğunu döndürür. Aranan değer liste içinde yoksa negatif bir değer döndürür.
List<string> isimler = new List<string>();
isimler.Add("Ali");
isimler.Add("Ahmet");
isimler.Add("Mehmet");
isimler.Add("Kemal");
int aranaIndex = isimler.BinarySearch("Ahmet"); //arananIndex:1
int aranaIndex2 = isimler.BinarySearch("Yusuf"); // negatif değer
string[] dizi = new string[3];
dizi[0] = "Ayşe";
dizi[1] = "Fatma";
dizi[2] = "Pakize";
//diziyi listeye aşağıdaki gibi çevirebilirsiniz.
List<string> isimler = new List<string>(dizi);
Aşağıdaki şekilde Kisi adında oluşturduğumuz sınıfı oluşturduğumuz liste nesnesine ekleyelim.
public class Kisi
{
string ad;
string soyad;
public string Ad
{
get
{
return ad;
}
set
{
ad = value;
}
}
public string Soyad
{
get
{
return soyad;
}
set
{
soyad = value;
}
}
}
Kisi sınıfını kullanan List Örneği
Yöntem 1
List<Kisi> Kisiler= new List< Kisi>();
Kisi kisi1= new Kisi();
Kisi kisi2= new Kisi ();
kisi1.Ad = "Zeytin";
kisi1.Soyad="Bakar";
kisi2.Ad = "Işıl";
kisi2.Soyad = "Gezer";
Kisiler.Add(kisi1);
Kisiler.Add(kisi2);
Yöntem 2
List<Kisi> Kisiler= new List< Kisi>();
{
new Kisi { Ad = "Mehmet", Soyad = "Özdemir"},
new Kisi { Ad = "İrem", Soyad = "Kesici"}
};
foreach (Kisi kisi in Kisiler)
{
Console.Write(kisi.Ad);
Console.WriteLine(kisi.Soyad);
}