Cho phép nhóm hay gộp các dữ liệu trong một nhóm dựa vào một hay vài thuộc tính chung. Các toán tử thuộc nhóm nhóm gồm:
Toán tử | Mô tả | Cú pháp C# | Cú pháp VB |
GroupBy | Tổ chức dữ liệu thành các nhóm và trả về chúng như một tập IEnumerable của kiểu IGrouping<key, element> | group…by hay
group…by …into |
Group…by…
Into… |
ToLookup | Thực hiện thao tác nhóm trong đó một chuỗi các cặp khoá được trả về. | Không hỗ trợ | Không hỗ trợ |
Ví dụ với C#: hiển thị danh sách số chẵn (even numbers) và số lẻ (odd numbers)
List<int> numbers = new List<int>() { 35, 44, 200, 84, 3987, 4, 199, 329, 446, 208 }; IEnumerable<IGrouping<int, int>> query = from number in numbers group number by number % 2; foreach (var group in query) { Console.WriteLine(group.Key == 0 ? "\nEven numbers:" : "\nOdd numbers:"); foreach (int i in group) Console.WriteLine(i); }
Trong LINQPad
Ví dụ với VB: hiển thị danh sách số chẵn (even numbers) và số lẻ (odd numbers)
Dim numbers As New System.Collections.Generic.List(Of Integer)( New Integer() {35, 44, 200, 84, 3987, 4, 199, 329, 446, 208}) Dim query = From number In numbers Group By Remainder = (number Mod 2) Into Group For Each group In query Console.WriteLine(If(group.Remainder = 0, "Even numbers:", "Odd numbers:")) For Each num In group.Group Console.WriteLine(num) Next Next
Trong LINQPad
Ý kiến bài viết