C# LINQ To SQL Eğitimleri 29 – LINQ Metotları: Group By
Herkese merhabalar;
Bu yazımda sizlere GroupBy yani grupla metodunun anlatacağım.Bu metod sayesinde aldığımız sonuçları gruplama ve üzerinde işlem yapabileceğiz.
GroupBy
Yukarıda da bahsettiğimiz gibi sonuç kümelerini belirlenmiş yani isimlendirilmiş ilişkili alt kümelere ayırır ve bunlar üzerinde işlem yapmamızı sağlar. Gruplama yapabilmek için belirli adımlar vardır.Öncelikle gruplayacağımız nesne belirlenecek. Sonrasında bu nesnelerin hangi ortak özelliğe sahip olduğu belirlenecek. Sonrasında gruplanmış nesneleri sonuç kümesine aktarmak. Şimdi de bununla ilgili bir örnek yapalım:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace GroupBy { class Program { class Ogrenci { public string isim { get; set; } public string okulu { get; set; } } static void Main(string[] args) { Console.WriteLine("***************** Industryolog Akademi *****************"); Console.WriteLine(""); Console.WriteLine(" C# LINQ To SQL EGITIMLERI-GroupBy "); Console.WriteLine(""); Console.WriteLine(""); var ogrenciler = new List<Ogrenci> { new Ogrenci{isim="Ali",okulu="Balıkesir"}, new Ogrenci{isim="Murat",okulu="Eskişehir"}, new Ogrenci{isim="İsmail",okulu="Balıkesir"}, new Ogrenci{isim="Kemal",okulu="Eskişehir"}, new Ogrenci{isim="Rıfat",okulu="İstanbul"}, new Ogrenci{isim="Altan",okulu="İstanbul"}, }; var grupla = from a in ogrenciler group a by a.okulu into b select new { okulu = b.Key, ogrenci = b }; foreach(var group in grupla) { Console.WriteLine(":.:.:.:.:.: Okul Adı : "+group.okulu); Console.WriteLine(""); Console.WriteLine(":.:.:.:.:.: Ogrencileri :"); Console.WriteLine(""); foreach (var a in group.ogrenci) { Console.WriteLine(" "+a.isim); } Console.WriteLine(""); } Console.ReadKey(); } } } |
Bir sonraki yazıda görüşmek dileğiyle, esen kalın.