Order by ใช้เรียงลำดับอาร์เรย์จากน้อยไปมากหรือจากมากไปหาน้อย
ตัวดำเนินการ GroupBy อยู่ในหมวดตัวดำเนินการจัดกลุ่ม โอเปอเรเตอร์นี้ใช้ลำดับรายการแบบเรียบๆ จัดระเบียบลำดับนั้นออกเป็นกลุ่ม (IGrouping
ตัวอย่าง
คลาส ElectronicGoods { รหัส int สาธารณะ { รับ; ชุด; } ชื่อสตริงสาธารณะ { รับ; ชุด; } หมวดหมู่สตริงสาธารณะ { รับ; ชุด; } รายการคงที่สาธารณะGetElectronicItems () { ส่งคืนรายการใหม่ () { สินค้าอิเล็กทรอนิกส์ใหม่ { Id =1, Name ="Mobile", Category ="Phone"}, ElectronicGoods ใหม่ { Id =2, Name =" LandLine", Category ="Phone"}, ElectronicGoods ใหม่ { Id =3, Name ="Television", Category ="TV"}, ElectronicGoods ใหม่ { Id =4, Name ="Grinder", Category ="Food"}, สินค้าอิเล็กทรอนิกส์ใหม่ { Id =5, Name ="Mixer", Category ="Food"}, }; }}คลาสโปรแกรม { 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 เป็น res) { Console.WriteLine("{0} - {1}", group.Key, group.electronicGoods.Count()); Console.WriteLine("----------"); foreach (var electronicGoods ใน group.electronicGoods) { Console.WriteLine (electronicGoods.Name + "\t" + electronicGoods.Category); } Console.WriteLine(); Console.WriteLine(); } Console.ReadKey(); }}
ผลลัพธ์
โทรศัพท์ - 2---------- โทรศัพท์พื้นฐานสำหรับโทรศัพท์เคลื่อนที่ TV - 1---------- โทรทัศน์ TVFood - 2---------- เครื่องบดอาหารเครื่องผสมอาหารก่อน>สั่งซื้อโดย
คลาส ElectronicGoods { รหัส int สาธารณะ { รับ; ชุด; } ชื่อสตริงสาธารณะ { รับ; ชุด; } หมวดหมู่สตริงสาธารณะ { รับ; ชุด; } รายการคงที่สาธารณะGetElectronicItems () { ส่งคืนรายการใหม่ () { สินค้าอิเล็กทรอนิกส์ใหม่ { Id =1, Name ="Mobile", Category ="Phone"}, ElectronicGoods ใหม่ { Id =2, Name =" LandLine", Category ="Phone"}, ElectronicGoods ใหม่ { Id =3, Name ="Television", Category ="TV"}, ElectronicGoods ใหม่ { Id =4, Name ="Grinder", Category ="Food"}, สินค้าอิเล็กทรอนิกส์ใหม่ { Id =5, Name ="Mixer", Category ="Food"}, }; }}คลาสโปรแกรม { static void Main() { //Order by var res =ElectronicGoods.GetElectronicItems().OrderBy(x => x.Category); foreach (รายการ var เป็น res) { Console.WriteLine (items.Name + "\t" + items.Category); } Console.ReadKey(); }} ผลลัพธ์
เครื่องบดอาหาร เครื่องผสมอาหาร โทรศัพท์เคลื่อนที่ โทรศัพท์ทางไกล โทรทัศน์ โทรทัศน์