Yazılım.
CevapSitesi.com Beta!
Çözüm Noktası
Facebook, Twitter, Google+ veya e-posta ile paylaşın.
| Sorular | Makaleler | Üyeler | Etiketler  | İletişim
Soru sormak ya da cevap vermek için;
giriş yapın veya üye olun.

Sosyal medya hesaplarınızla da giriş yapabilirsiniz.
0

LINQ - Miktar Belirleyiciler (Quantifiers) Örnekleri

Bu makalede kullanılan veri kaynağını görmek için tıklayın.

Any İle Şarta Uyan Olup Olmadığını Denetleme Örneği

Any yöntemi, bir listede verilen şarta uyan eleman olup olmadığını Boolean olarak (true veya false) döndürür.

Aşağıdaki örnek, öğrenci bilgilerini içeren bir veri kaynağından seçtiği öğrencilerden oluşan listed Kitap Kulübüne üye öğrenci olup olmadığını bulur ve çıktıya yazar.

var Ogrenciler = OgrencileriGetir();

bool KitapKulubundeOgrenciVarMi = Ogrenciler.Any(Ogrenci => Ogrenci.Kulup == 3);

Console.WriteLine("Kitap Kulübünde öğrenci {0}.", KitapKulubundeOgrenciVarMi ? "var" : "yok");

Console.ReadLine();

Örneğin çıktısı şöyle olacaktır :

Kitap Kulübünde öğrenci yok.

Any İle Şartı Taşıyan Grupları Seçme Örneği

Any yöntemini kullanarak belirtilen şartı taşıyan gruplar seçebiliriz.

Bu örnek öğrenci bilgilerinden oluşan bir veri kaynağından seçtiği kayıtları sınıflarına göre gruplara ayırır ve Any yönteminden yararlanarak oluşturulan gruplardan sadece Any ile belirtilen şarta uyanları seçer.

var Ogrenciler = OgrencileriGetir();

var Siniflar = from Ogrenci in Ogrenciler
               group Ogrenci by Ogrenci.Sinif into SinifGrubu
               where SinifGrubu.Any(SiniftakiOgrenci => SiniftakiOgrenci.Cinsiyet == "Bayan")
               select new { Sinif = SinifGrubu.Key, OgrenciSayisi = SinifGrubu.Count() };

Console.WriteLine("Bayan öğrencisi olan sınıfların öğrenci sayıları :");

foreach (var SinifBilgisi in Siniflar)
{

    Console.WriteLine("Bayan öğrenci bulunan {0}. sınıfta {1} öğrenci var.", SinifBilgisi.Sinif, SinifBilgisi.OgrenciSayisi);

}

Console.ReadLine();

Örneğin çıktısı şöyle olacaktır :

Bayan öğrencisi olan sınıfların öğrenci sayıları :
Bayan öğrenci bulunan 3. sınıfta 5 öğrenci var.
Bayan öğrenci bulunan 2. sınıfta 5 öğrenci var.

Aynı örnek, LINQ Yöntem Sözdizimi (LINQ Method Syntax) ile şu şekilde yazılabilir:

var Ogrenciler = OgrencileriGetir();

var Siniflar = Ogrenciler.GroupBy(Ogrenci => Ogrenci.Sinif)
                         .Where(SinifGrubu => SinifGrubu.Any(SiniftakiOgrenci => SiniftakiOgrenci.Cinsiyet == "Bayan"))
                         .Select(SinifGrubu => new { Sinif = SinifGrubu.Key, OgrenciSayisi = SinifGrubu.Count() });

Console.WriteLine("Bayan öğrencisi olan sınıfların öğrenci sayıları :");

foreach (var SinifBilgisi in Siniflar)
{

    Console.WriteLine("Bayan öğrenci bulunan {0}. sınıfta {1} öğrenci var.", SinifBilgisi.Sinif, SinifBilgisi.OgrenciSayisi);

}

Console.ReadLine();

All İle Listedekilerin Tümünün Şarta Uyup Uymadığını Denetleme Örneği

All yöntemi, bir listedeki elemanların tümünün verilen şarta uyup uymadığını Boolean olarak (true veya false) döndürür.

Aşağıdaki örnek, öğrenci bilgilerini içeren bir veri kaynağından seçtiği öğrencilerden oluşan listedeki tüm öğrencilerin başarılı olup olmadığını bulur ve çıktıya yazar.

var Ogrenciler = OgrencileriGetir();

bool TumOgrencilerBasariliMi = Ogrenciler.All(Ogrenci => Ogrenci.Basarili == true);

Console.WriteLine("Tüm öğrenciler başarılı{0}.", TumOgrencilerBasariliMi ? "dır" : " değildir");

Console.ReadLine();

Örneğin çıktısı şöyle olacaktır :

Tüm öğrenciler başarılı değildir.

All İle Tüm Elemanları Şarta Uyan Grupları Seçme Örneği

All yöntemini kullanarak tüm elemanları belirtilen şartı taşıyan grupları seçebiliriz.

Bu örnek öğrenci bilgilerinden oluşan bir veri kaynağından seçtiği kayıtları sınıflarına göre gruplara ayırır, All yönteminden yararlanarak oluşturulan sınıf gruplarından tüm öğrencileri erkek olanları seçer ve seçtiği sınıfların listesini çıktıya yazar.

var Ogrenciler = OgrencileriGetir();

var Siniflar = from Ogrenci in Ogrenciler
               group Ogrenci by Ogrenci.Sinif into SinifGrubu
               where SinifGrubu.All(SiniftakiOgrenci => SiniftakiOgrenci.Cinsiyet == "Erkek")
               select new { Sinif = SinifGrubu.Key, Ogrenciler = SinifGrubu };

Console.WriteLine("Tüm öğrencileri erkek olan sınıflar ve öğrenci listeleri :");

foreach (var Sinifi in Siniflar)
{

    Console.WriteLine("Sınıf {0} :", Sinifi.Sinif);

    foreach (var Ogrenci in Sinifi.Ogrenciler)
    {
        Console.WriteLine("{0} {1}", Ogrenci.Adi, Ogrenci.Soyadi);
    }

}

Console.ReadLine();

Örneğin çıktısı şöyle olacaktır :

Tüm öğrencileri erkek olan sınıflar ve öğrenci listeleri :
Sınıf 4 :
Tuncay Çağrı
Mesut Bahtiyar
Veli Canlı

Aynı örnek, LINQ Yöntem Sözdizimi (LINQ Method Syntax) ile şu şekilde yazılabilir:

var Ogrenciler = OgrencileriGetir();

var Siniflar = Ogrenciler.GroupBy(Ogrenci => Ogrenci.Sinif)
                         .Where(SinifGrubu => SinifGrubu.All(SiniftakiOgrenci => SiniftakiOgrenci.Cinsiyet == "Erkek"))
                         .Select(SinifGrubu => new { Sinif = SinifGrubu.Key, Ogrenciler = SinifGrubu });

Console.WriteLine("Tüm öğrencileri erkek olan sınıflar ve öğrenci listeleri :");

foreach (var Sinifi in Siniflar)
{

    Console.WriteLine("Sınıf {0} :", Sinifi.Sinif);

    foreach (var Ogrenci in Sinifi.Ogrenciler)
    {
        Console.WriteLine("{0} {1}", Ogrenci.Adi, Ogrenci.Soyadi);
    }

}

Console.ReadLine();

Kaynak:
https://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b



Diğer LINQ Makaleleri:


Yazan: 10.04.16 23:07

101,387p 4ü