C# List Kullanımı

Ağustos 10, 2016 Mustafa BÜKÜLMEZ 0 Yorum


Bir çoğumuz kod yazarken görmüştür bunu. Peki bu  "List<T> " nedir?

List<T>  nesneleri listelemek için kullanılır. İstediğiniz her türlü nesneyi listeleyebilir siniz. Örnek verecek olursak;

List<string> YeniListem = new List<string>();
//yeni bir liste oluşturduk ve içerisine string türünden atama yapacağımızı belirttik
YeniListem.Add("TextBox1");
// .Text felan yazmıyoruız. Direk nesnenin adını(name) yazıyoruz.

List nesnesini sadece int,string,bool vs. için değil aklınıza gelebilecek bir çok şey için kullanabilirsiniz. Mesela

List<TextBox> TextBoxlarim = new List<TextBox>();
// listemize sadece textboxları eklebilirsiniz.

Peki ama bu textbox listesi yada diğer nesnelerin listesi ne işimize yarar?

Bu şekilde textboxları listede tutmak projenize göre bir çok kolaylık sağlar.

Diyelim ki formunuzdaki textboxları listenize doldurdunuz sadece texti dolu olan textboxları almanız gerekiyor. Bunun için bir sürü if yazmak yerine  foreach  yada for kullanabiliriz.
Bunu yapabilmek için de textboxların adının tutulduğu bir liste gerek bunun için

List<TextBox> u kullanmanız gerekir. yukarda anlattığımız örneği basit olarak yapacak olursak;

for(int i =0; i<TextBoxlarim.Count; i++ )
{
if(TextBoxlarim[i].Text != "" || TextBoxlarim[i].Text != Stiring.Empty) // Garanti olsun diye :D
MessageBox.Show(TextBoxlarim[i].Name)
}

Not 2: For kullanımını daha sonra ayrıntılı bir şekilde ele alacağım :)

Not 2: Arkadaşlar yukarıda da bahsettiğim gibi List<T> ile herşeyin listesini yapabilirsiniz ve bunun en güzel yanı örnektede de göreceğiniz gibi List<TextBox> listemizdeki textboxların özelliklerini de TextBoxlarim[i].Text != "" şeklinde kullanabiliyoruz.

TextBoxlarim[0] = // TextBoxlarim listesindeki 1. TextBox anlamına gelir
TextBoxlarim[1] = // TextBoxlarim listesindeki 2. TextBox anlamına gelir
TextBoxlarim[2] = // TextBoxlarim listesindeki 3. TextBox anlamına gelir

Bu yöntemi geliştirerek 2 boyutlu 3 boyutlu diziler elde edebilirsiniz. Bu konuyu ilerleyen zamanlarda ele alacağım. Takipte Kalın ;)

Saygılarımla,
Mustafa BÜKÜLMEZ
http://mustafabukulmez.com/


0 Yorum: