Ana Sayfa » Ders Notları ve Örnekler » C# » LINQ Örnekleri » Count İle Grupların Eleman Sayılarını Bulma

Count İle Grupların Eleman Sayılarını Bulma

Uyarılar :
  • Bu sayfada yazılanlar yeniden yayınlanamaz (© Ercan Orak).

Count yöntemi gruplandırma ile beraber grupların eleman sayılarını bulmak için kullanılabilir. Grupların sıralı olması isteniyorsa sorguda orderby cümleciği kullanılabilir veya gruplar daha sonra sıralanabilir.

Aşağıdaki örnek, öğrenci bilgilerini içeren bir veri kaynağındaki öğrencileri sınıflarına göre gruplara ayırarak grupların (sınıfların) öğrenci sayılarını bulup çıktıya yazar.

Veri kaynağını görmek için burayı tıklayın.


var Ogrenciler = OgrencileriGetir();

var Siniflar = from Ogrenci in Ogrenciler
               orderby Ogrenci.Sinif
               group Ogrenci by Ogrenci.Sinif into Sinifi
               select new { Sinif = Sinifi.Key, OgrenciSayisi = Sinifi.Count() };

Console.WriteLine("Sınıf öğrenci sayıları :");

foreach (var Satir in Siniflar)
{
    Console.WriteLine("{0}. sınıfta {1} öğrenci var.", Satir.Sinif, Satir.OgrenciSayisi);
}


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

Sınıf öğrenci sayıları :
1. sınıfta 3 öğrenci var.
2. sınıfta 5 öğrenci var.
3. sınıfta 5 öğrenci var.
4. sınıfta 4 öğrenci var.

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


var Ogrenciler = OgrencileriGetir();

var Siniflar = Ogrenciler.OrderBy(Ogrenci => Ogrenci.Sinif)
                         .GroupBy(Ogrenci => Ogrenci.Sinif)
                         .Select(Sinif => new { Sinif = Sinif.Key, OgrenciSayisi = Sinif.Count() });

Console.WriteLine("Sınıf öğrenci sayıları :");

foreach (var Satir in Siniflar)
{
    Console.WriteLine("{0}. sınıfta {1} öğrenci var.", Satir.Sinif, Satir.OgrenciSayisi);
}


Ercan Orak

İletişim : hazirsite@gmail.com