ホームページ >バックエンド開発 >C++ >C# リスト内の要素の出現を効率的にカウントするにはどうすればよいですか?

C# リスト内の要素の出現を効率的にカウントするにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-03 09:45:39271ブラウズ

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

C# を使用したリスト内の出現回数のカウント

C# には、リスト内の各要素の出現回数を効果的にカウントするために使用できるさまざまな方法があります。 。 1 つのアプローチには、GroupBy 拡張メソッドを利用することが含まれます。

using System;
using System.Collections.Generic;
using System.Linq;

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

// Group the list elements based on their values
var groupedList = list.GroupBy(i => i);

// Iterate over each group and count the occurrences
foreach (var group in groupedList)
{
    Console.WriteLine($"{group.Key}: {group.Count()}");
}

この例では、GroupBy メソッドは Func を受け取ります。デリゲート。要素をグループ化する方法を指定します。この場合、要素自体でグループ化します。結果として得られる groupedList は IEnumerable> であり、各 IGrouping は一意の要素とその数を表します。 IGrouping の Key プロパティは要素の値を表し、Count() メソッドはその要素の出現数を返します。

あるいは、Dictionary:

using System;
using System.Collections.Generic;

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

// Create a dictionary to store element counts
Dictionary<int, int> counts = new Dictionary<int, int>();

// Populate the dictionary with counts
foreach (var item in list)
{
    if (counts.ContainsKey(item))
    {
        counts[item]++;
    }
    else
    {
        counts[item] = 1;
    }
}

// Iterate over the dictionary to print element counts
foreach (var kvp in counts)
{
    Console.WriteLine($"{kvp.Key}: {kvp.Value}");
}
を使用することもできます。 >

以上がC# リスト内の要素の出現を効率的にカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。