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