LINQ Ögreniyorum 1


LINQ Ögreniyorum 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};

 

        != 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…

 

Engin Demirog
engin@e-learner.net

Share Button

Comments 0

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

* Copy This Password *

* Type Or Paste Password Here *

12.608 Spam Comments Blocked so far by Spam Free Wordpress

More From: LINQ

DON'T MISS