ক্রমানুসারে অ্যারেগুলিকে আরোহী বা অবরোহী ক্রমে সাজাতে ব্যবহৃত হয়
GroupBy অপারেটর গ্রুপিং অপারেটর বিভাগের অন্তর্গত। এই অপারেটর আইটেমগুলির একটি ফ্ল্যাট সিকোয়েন্স নেয়, একটি নির্দিষ্ট কী এবং রিটার্ন গ্রুপের সিকোয়েন্সের উপর ভিত্তি করে সেই ক্রমটিকে গ্রুপে (IGrouping
উদাহরণ
class ElectronicGoods { public int Id { get; set; } public string Name { get; set; } public string Category { get; set; } public static List<ElectronicGoods> GetElectronicItems() { return new List<ElectronicGoods>() { new ElectronicGoods { Id = 1, Name = "Mobile", Category = "Phone"}, new ElectronicGoods { Id = 2, Name = "LandLine", Category = "Phone"}, new ElectronicGoods { Id = 3, Name = "Television", Category = "TV"}, new ElectronicGoods { Id = 4, Name = "Grinder", Category = "Food"}, new ElectronicGoods { Id = 5, Name = "Mixer", Category = "Food"}, }; } } class Program { static void Main() { //Group by var res=ElectronicGoods.GetElectronicItems().GroupBy(x => x.Category).Select(x => new { Key = x.Key, electronicGoods = x.OrderBy(c => c.Name) }); foreach (var group in res) { Console.WriteLine("{0} - {1}", group.Key, group.electronicGoods.Count()); Console.WriteLine("----------"); foreach (var electronicGoods in group.electronicGoods) { Console.WriteLine(electronicGoods.Name + "\t" + electronicGoods.Category); } Console.WriteLine(); Console.WriteLine(); } Console.ReadKey(); } }
আউটপুট
Phone - 2 ---------- LandLine Phone Mobile Phone TV - 1 ---------- Television TV Food - 2 ---------- Grinder Food Mixer Food
অর্ডার করুন
class ElectronicGoods { public int Id { get; set; } public string Name { get; set; } public string Category { get; set; } public static List<ElectronicGoods> GetElectronicItems() { return new List<ElectronicGoods>() { new ElectronicGoods { Id = 1, Name = "Mobile", Category = "Phone"}, new ElectronicGoods { Id = 2, Name = "LandLine", Category = "Phone"}, new ElectronicGoods { Id = 3, Name = "Television", Category = "TV"}, new ElectronicGoods { Id = 4, Name = "Grinder", Category = "Food"}, new ElectronicGoods { Id = 5, Name = "Mixer", Category = "Food"}, }; } } class Program { static void Main() { //Order by var res = ElectronicGoods.GetElectronicItems().OrderBy(x => x.Category); foreach (var items in res) { Console.WriteLine(items.Name + "\t" + items.Category); } Console.ReadKey(); } }
আউটপুট
Grinder Food Mixer Food Mobile Phone LandLine Phone Television TV