Where ifadesi şart belirtmek için kullanılmaktadır. Bir veri kümesinden select ile veri sorgularken sonucun bir kritere göre gelmesi isteniyorsa where ifadesi kullanılmaktadır. Where ifadesinin kullanımını Linq ve Lambda kullanarak 2 farklı örnek üzerinde yapalım. Öncelikle Linq ile örnekleyelim.
Öncelikle Personel adında bir sınıf tanımlıyorum.
public class Personel { public string Adi { get; set; } }
Personel sınıfının üyelerini girelim.
List< Personel> Kisiler = new List< Personel>(); Kisiler.Add(new Personel() { Adi = "Ali" }); Kisiler.Add(new Personel() { Adi = "Can" }); Kisiler.Add(new Personel() { Adi = "Hakan" }); Kisiler.Add(new Personel() { Adi = "Yılmaz" }); Kisiler.Add(new Personel() { Adi = "Harun" });
Şimdi Linq ile bu üyeler arasında bir kriter belirtelim. Örneğimizde adı Ali olan kayıtları listeyelim.
private void button1_Click(object sender, EventArgs e) { List< Personel> Kisiler = new List< Personel>(); Kisiler.Add(new Personel() { Adi = "Ali" }); Kisiler.Add(new Personel() { Adi = "Can" }); Kisiler.Add(new Personel() { Adi = "Hakan" }); Kisiler.Add(new Personel() { Adi = "Yılmaz" }); Kisiler.Add(new Personel() { Adi = "Harun" }); var Sonuc = from k in Kisiler where k.Adi == "Ali" select k; }
İşlem sonucunda kritere uygun olan kayıtlar Sonuc değişkeninde listelenecektir.
Aynı örneği Lambda ile aşağıdaki gibi yapabiliriz.
private void button1_Click(object sender, EventArgs e) { List< Personel> Kisiler = new List< Personel>(); Kisiler.Add(new Personel() { Adi = "Ali" }); Kisiler.Add(new Personel() { Adi = "Can" }); Kisiler.Add(new Personel() { Adi = "Hakan" }); Kisiler.Add(new Personel() { Adi = "Yılmaz" }); Kisiler.Add(new Personel() { Adi = "Harun" }); var Sonuc = Kisiler.Where(x => x.Adi == "Ali"); }
Bu işlemde yukarıdaki gibi aynı sonucu verecektir. Basit düzeyde örnekleme yapmaya çalıştım. Birden fazla where ifadesi, birden fazla koşul belirterek sorgularınızı daha zengin hale getirebilirsiniz.
Başarılar dilerim.