ใช้คำสั่ง group ... by ... ใน LINQ Query Syntax เพื่อจัดกลุ่มองค์ประกอบตาม Key ที่คำนวณจากฟังก์ชัน
ตัวอย่าง: จัดกลุ่มตัวเลขตาม "มากกว่าหรือเท่ากับ 20"
using System;
using System.Linq;
class Demo
{
static void Main()
{
int[] a = { 5, 10, 15, 20, 25, 30 };
var check = from element in a
orderby element
group element by ChkGreater(element);
foreach (var val in check)
{
Console.WriteLine(val.Key); // True/False
foreach (var res in val) Console.WriteLine(res);
}
}
static bool ChkGreater(int a) => a >= 20;
}
ผลลัพธ์
False 5 10 15 True 20 25 30
รูปแบบ Method Syntax: a.GroupBy(x => x >= 20)