Kurumsal Otomasyon Çözümlerinde Zirve

LINQ Temelleri 1

LINQ Temelleri 1

Bu yazi dizisinde LINQ yapisinin ve yaziminin ögrenilmesi amaçlanmistir.

Açilimi Language Integrated Query olan LINQ ile çesitli objelere, Ado.Net nesnelerine(datatable, dataset) ve xml dökümanlarina güçlü sorgular yazilabilmektedir. Bu sorgular hem yaziminin kolayligi hem de performansi açisindan gayet kullanislidir. Ayni zamanda bundan önce veri kaynaklarinin her biri için ayri ayri sorgulama dilleri bilmemiz gerekiyordu. LINQ ile bunlara ihtiyacimiz artik yok tabii ki…

Bu yazimda LINQ yazimindan, LINQ içerisinde kullanilan kisitlama operatörlerinden(restriction operators) bahsetmek istiyorum. Bunun için birkaç örnek yapalim. Bu yazimdaki ilk örnegi anladiktan sonra gerisi hiç te zor gelmeyecek…

Bir adet Windows uygulamasi açalim ve ise koyulalim.

1.Adim: Formunuza bir Adet Button birakiniz ve asagidaki kodu butonumuzun “Click” eventine yaziniz.

LINQ YAZIMI

int[] sayilar = { 10,1,0,15,2,3,5,7,6,8,4};
var kucukler = from sayi in sayilar

where sayi < 5 //5 ten küçük olanlar select sayi; foreach (object eleman in kucukler) { MessageBox.Show(eleman.ToString()); } · Burada int[] tipindeki dizimiz veri kaynagimiz. Bu sizin ihtiyaciniza göre bir DataTable, DataSet ya daXML dökümani da olabilirdi… var kucukler ile Anonim(Anonymous) bir veri tipi belirtiliyor. Kisacasi degiskenin türü aldigi verinin türüne göre degisiyor. from sayi in sayilar ile veri kaynagimizda(sayilar) kosula uyan tüm veriler tutulacak… · where sayi < 5 ile sart belirledik… select sayi ile sarta uyanlari seçtik… foreach döngüsü ile LINQ sorgusu sonucunda ortaya çikan degerler okundu… Kisitlama Operatörleri(Restriction Operators) Bu operatörler tipki C# dilinde kullandiginiz operatörlere benzerler. Yazimi da aynidir. Birkaç Kullanimi göstererek temel LINQ yazimina iyice adapte olalim. < ya da > operatörü

int[] sayilar = { 10,1,0,15,2,3,5,7,6,8,4};
private void button2_Click(object sender, EventArgs e)
{
var kucukler = from sayi in sayilar

where sayi < 5 //5 ten küçük olanlar select sayi; foreach (object eleman in kucukler) { MessageBox.Show(eleman.ToString()); } } != operatörü private void button3_Click(object sender, EventArgs e) { var farkliOlanlar = from sayi in sayilar where sayi != 5 //5 ten farkli olanlar select sayi; foreach (object eleman in farkliOlanlar) { MessageBox.Show(eleman.ToString()); } } && operatörü private void button4_Click(object sender, EventArgs e) { var farkliOlanlar = from sayi in sayilar where sayi>5 && sayi<7 //5 ten büyük 7 den küçük olanlar select sayi; foreach (object eleman in farkliOlanlar) { MessageBox.Show(eleman.ToString()); } } == operatörü private void button5_Click(object sender, EventArgs e) { var farkliOlanlar = from sayi in sayilar where sayi ==5 //5 e esit olanlar select sayi; foreach (object eleman in farkliOlanlar) { MessageBox.Show(eleman.ToString()); } } Yazi dizisi devam edecektir. Diger yazilarimda görüsmek üzere…

Yorum Yapılmamış

Bir cevap yazın