Mệnh đề group by trong LINQ phân chia tập kết quả thành các nhóm dựa trên khóa. Ví dụ: nhóm số nguyên theo điều kiện lớn hơn hoặc bằng 20.
Ví dụ
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);
foreach (var res in val)
Console.WriteLine(res);
}
}
static bool ChkGreater(int a)
{
return a >= 20;
}
}
Kết quả
False 5 10 15 True 20 25 30
Giải thích: Khóa nhóm là true/false từ hàm ChkGreater. Phần tử được sắp xếp trước khi nhóm.