Grouping Data (C#)
Grouping refers to the operation of putting data into groups so that the elements in each group share a common attribute.
The following illustration shows the results of grouping a sequence of characters. The key for each group is the character.

The standard query operator methods that group data elements are listed in the following section.
Methods
| Method Name | Description | C# Query Expression Syntax | More Information |
|---|---|---|---|
| GroupBy | Groups elements that share a common attribute. Each group is represented by an IGrouping<TKey,TElement> object. | group … by-or- group … by … into … |
Enumerable.GroupBy Queryable.GroupBy |
| ToLookup | Inserts elements into a Lookup<TKey,TElement> (a one-to-many dictionary) based on a key selector function. | Not applicable. | Enumerable.ToLookup |
Query Expression Syntax Example
The following code example uses the group by clause to group integers in a list according to whether they are even or odd.
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);
}
/* This code produces the following output:
Odd numbers:
35
3987
199
329
Even numbers:
44
200
84
4
446
208
*/
See also
Feedback
Issottometti u ara feedback għal