using System.Collections.Generic;
public int No { get; set; }
public string Adi { get; set; }
public string Soyadi { get; set; }
public int Sinif { get; set; }
public string Cinsiyet { get; set; }
public DateTime DogumTarihi { get; set; }
public int Yasi { get; set; }
public int Kulup { get; set; }
public int[] Notlar { get; set; }
public double Ortalama { get; set; }
public bool Basarili { get; set; }
public int OkunanKitapSayisi { get; set; }
private static List<Ogrenci> OgrencileriGetir()
List<Ogrenci> Ogrenciler = new List<Ogrenci>();
Ogrenciler.Add(new Ogrenci() { No = 2, Adi = "Tuncay", Soyadi = "Çağrı", Cinsiyet = "Erkek",
DogumTarihi = new DateTime(2002, 2, 27), Sinif = 4, Kulup = 0,
OkunanKitapSayisi=11, Notlar = new int[] { 75, 70, 75 }});
Ogrenciler.Add(new Ogrenci() { No = 4, Adi = "Jale", Soyadi = "İkinci", Cinsiyet = "Bayan",
DogumTarihi = new DateTime(1970, 1, 28), Sinif = 3, Kulup = 1,
OkunanKitapSayisi = 7, Notlar = new int[] { 100, 95, 97, 96 } });
Ogrenciler.Add(new Ogrenci() { No = 7, Adi = "Tekin", Soyadi = "Uğurlu", Cinsiyet = "Erkek",
DogumTarihi = new DateTime(1955, 3, 26), Sinif = 1, Kulup = 1,
OkunanKitapSayisi = 4, Notlar = new int[] { 30, 40, 20 } });
Ogrenciler.Add(new Ogrenci() { No = 8, Adi = "Mesut", Soyadi = "Bahtiyar", Cinsiyet = "Erkek",
DogumTarihi = new DateTime(1980, 4, 25), Sinif = 4, Kulup = 1,
OkunanKitapSayisi = 8, Notlar = new int[] { 70, 10, 30 } });
Ogrenciler.Add(new Ogrenci() { No = 12, Adi = "Veli", Soyadi = "Canlı", Cinsiyet = "Erkek",
DogumTarihi = new DateTime(1993, 5, 24), Sinif = 4, Kulup = 2,
OkunanKitapSayisi = 8, Notlar = new int[] { 80, 40, 10 } });
Ogrenciler.Add(new Ogrenci() { No = 6, Adi = "Ahmet", Soyadi = "Geçe", Cinsiyet = "Erkek",
DogumTarihi = new DateTime(1958, 6, 23), Sinif = 2, Kulup = 2,
OkunanKitapSayisi = 9, Notlar = new int[] { 70, 80, 80 } });
Ogrenciler.Add(new Ogrenci() { No = 15, Adi = "Fatma", Soyadi = "Teyze", Cinsiyet = "Bayan",
DogumTarihi = new DateTime(1972, 7, 22), Sinif = 3, Kulup = 1,
OkunanKitapSayisi = 12, Notlar = new int[] { 70, 98, 97, 92 } });
Ogrenciler.Add(new Ogrenci() { No = 14, Adi = "Mehmet", Soyadi = "Emre", Cinsiyet = "Erkek",
DogumTarihi = new DateTime(1970, 8, 21), Sinif = 4, Kulup = 0,
OkunanKitapSayisi = 7, Notlar = new int[] { 80, 22, 97 } });
Ogrenciler.Add(new Ogrenci() { No = 3, Adi = "Hale", Soyadi = "Birinci", Cinsiyet = "Bayan",
DogumTarihi = new DateTime(1982, 9, 20), Sinif = 2, Kulup = 1,
OkunanKitapSayisi = 11, Notlar = new int[] { 20, 40, 10, 30 } });
Ogrenciler.Add(new Ogrenci() { No = 13, Adi = "Ayşe", Soyadi = "Hanım", Cinsiyet = "Bayan",
DogumTarihi = new DateTime(1983, 10, 19), Sinif = 2, Kulup = 1,
OkunanKitapSayisi = 5, Notlar = new int[] { 100, 40, 100 } });
Ogrenciler.Add(new Ogrenci() { No = 11, Adi = "Cevdet", Soyadi = "Döğer", Cinsiyet = "Erkek",
DogumTarihi = new DateTime(1967, 11, 18), Sinif = 3, Kulup = 2,
OkunanKitapSayisi = 7, Notlar = new int[] { 20, 0, 30, 15 } });
Ogrenciler.Add(new Ogrenci() { No = 1, Adi = "Nuri", Soyadi = "Babayiğit", Cinsiyet = "Erkek",
DogumTarihi = new DateTime(1998, 12, 17), Sinif = 2, Kulup = 2,
OkunanKitapSayisi = 6, Notlar = new int[] { 55, 75, 65 } });
Ogrenciler.Add(new Ogrenci() { No = 5, Adi = "Kenan", Soyadi = "Oran", Cinsiyet = "Erkek",
DogumTarihi = new DateTime(1961, 1, 16), Sinif = 1, Kulup = 0,
OkunanKitapSayisi = 9, Notlar = new int[] { 50, 70, 80 } });
Ogrenciler.Add(new Ogrenci() { No = 9, Adi = "Lale", Soyadi = "Üçüncü", Cinsiyet = "Bayan",
DogumTarihi = new DateTime(1990, 2, 15), Sinif = 3, Kulup = 0,
OkunanKitapSayisi = 6, Notlar = new int[] { 20, 0, 30 } });
Ogrenciler.Add(new Ogrenci() { No = 10, Adi = "Erhan", Soyadi = "Erkanlı", Cinsiyet = "Erkek",
DogumTarihi = new DateTime(1958, 3, 14), Sinif = 1, Kulup = 1,
OkunanKitapSayisi = 7, Notlar = new int[] { 90, 90, 90, 90 } });
Ogrenciler.Add(new Ogrenci() { No = 16, Adi = "Erhan", Soyadi = "Fidan", Cinsiyet = "Erkek",
DogumTarihi = new DateTime(1968, 4, 13), Sinif = 2, Kulup = 1,
OkunanKitapSayisi = 8, Notlar = new int[] { 95, 70, 100, 80 } });
Ogrenciler.Add(new Ogrenci() { No = 17, Adi = "Erhan", Soyadi = "Çelik", Cinsiyet = "Erkek",
DogumTarihi = new DateTime(1978, 5, 12), Sinif = 3, Kulup = 1,
OkunanKitapSayisi = 7, Notlar = new int[] { 90, 55, 90 } });
foreach (var Ogrenci in Ogrenciler)
Ogrenci.Ortalama = Ogrenci.Notlar.Average();
Ogrenci.Basarili = Ogrenci.Ortalama >= 55;
Ogrenci.Yasi = DateTime.Now.Year - Ogrenci.DogumTarihi.Year;
public static void Main()
var Ogrenciler = OgrencileriGetir();
Console.WriteLine("***************************************");
var Siniflar = Ogrenciler.GroupBy(ogr=> ogr.Sinif).OrderBy(SinifGrup => SinifGrup.Key)
.Select( SinifGrup => new
SınıfOgrenciSayisi = SinifGrup.Count()
foreach( var satir in Siniflar)
Console.WriteLine("{0}. sınıfta {1} öğrenci var.", satir.Sinif, satir.SınıfOgrenciSayisi);
Console.WriteLine("***************************************");
var Siniflar2 = Ogrenciler.OrderBy(ogr=>ogr.Sinif).GroupBy(ogr=> ogr.Sinif);
foreach( var siniflar in Siniflar2)
Console.WriteLine("{0}. sınıfta {1} öğrenci var, Öğrenciler:", siniflar.Key, siniflar.Count());
foreach( var ogrenci in siniflar)
Console.WriteLine("{0} {1}", ogrenci.Adi, ogrenci.Soyadi);
Console.WriteLine("***************************************");
var siniflar3 = Ogrenciler.OrderBy(ogr =>ogr.Sinif)
.GroupBy(ogr =>ogr.Sinif)
SınıfOgrenciSayisi = SinifGrup.Count(),
OgrencilerCinsiyet = SinifGrup.OrderBy(ogr => ogr.Cinsiyet)
.GroupBy(ogr=>ogr.Cinsiyet)
foreach( var sinifOgrenciler in siniflar3)
Console.WriteLine("{0}. sınıfta {1} öğrenci var, Öğrenciler:", sinifOgrenciler.SinifNo, sinifOgrenciler.SınıfOgrenciSayisi);
foreach( var cinsiyetGrup in sinifOgrenciler.OgrencilerCinsiyet)
Console.WriteLine("{0} ogrenciler", cinsiyetGrup.Key);
foreach( var ogrenci in cinsiyetGrup)
Console.WriteLine("{0} - {1} {2}",