Heim >Backend-Entwicklung >C++ >Wie kann ich mithilfe von GroupBy effizient Elementvorkommen in einer C#-Liste zählen?

Wie kann ich mithilfe von GroupBy effizient Elementvorkommen in einer C#-Liste zählen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-02 13:03:39281Durchsuche

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

Elementvorkommen in einer Liste mit GroupBy zählen

Das Zählen der Anzahl der Vorkommen jedes Elements in einer Liste kann insbesondere eine mühsame Aufgabe sein wenn die Liste groß ist. Es gibt jedoch eine elegante Lösung mit der GroupBy-Methode in C#.

Die GroupBy-Methode nimmt eine Folge von Elementen als Eingabe und gruppiert sie basierend auf einem angegebenen Schlüssel. In diesem Fall möchten wir die Elemente nach ihren Werten gruppieren.

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

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

Die GroupBy-Methode gibt ein IGrouping zurück. Objekt, wobei TKey der Typ des Gruppierungsschlüssels und TElement der Typ der Elemente in der Gruppe ist. In diesem Fall ist der Gruppierungsschlüssel das Element selbst (d. h. der Wert des Elements) und die Elemente in der Gruppe sind die Vorkommen dieses Werts (d. h. die Häufigkeit, mit der der Wert in der Liste erscheint).

Durch die Iteration über jede Gruppe erhalten wir den Schlüssel (den Elementwert) und die Anzahl der Vorkommen (die Anzahl der). Gruppe).

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

Ausgabe:

1 2
2 4
3 1
4 4
5 1

Diese Lösung ist effizient und einfach zu implementieren, was sie zu einer wertvollen Ergänzung für das Toolkit jedes Programmierers macht.

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von GroupBy effizient Elementvorkommen in einer C#-Liste zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn