Home >Backend Development >C++ >How Can I Efficiently Count Element Occurrences in a C# List Using GroupBy?

How Can I Efficiently Count Element Occurrences in a C# List Using GroupBy?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-02 13:03:39260browse

How Can I Efficiently Count Element Occurrences in a C# List Using GroupBy?

Counting Element Occurrences in a List Using GroupBy

Counting the number of occurrences of each element in a list can be a tedious task, especially if the list is large. However, there's an elegant solution using the GroupBy method in C#.

The GroupBy method takes a sequence of elements as input and groups them based on a specified key. In this case, we want to group the elements by their values.

var l1 = new List<int>() { 1, 2, 3, 4, 5, 2, 2, 2, 4, 4, 4, 1 };

var g = l1.GroupBy(i => i);

The GroupBy method returns an IGrouping object, where TKey is the type of the grouping key and TElement is the type of the elements in the group. In this case, the grouping key is the element itself (i.e., the value of the element), and the elements in the group are the occurrences of that value (i.e., the number of times the value appears in the list).

Iterating over each group gives us the key (the element value) and the number of occurrences (the count of the group).

foreach (var grp in g)
{
  Console.WriteLine($"{grp.Key} {grp.Count()}");
}

Output:

1 2
2 4
3 1
4 4
5 1

This solution is efficient and easy to implement, making it a valuable addition to any programmer's toolkit.

The above is the detailed content of How Can I Efficiently Count Element Occurrences in a C# List Using GroupBy?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn