皆さん、これはかなり単純な質問だと思いますが、答えが見つかりません。たくさんのアイテムを含む IList があります。そして、重複しているアイテムの数を数えたいです(このIListには多くの重複があります)。したがって、リストに 'apple' が 20 回、'bannana' が 30 回含まれている場合、それらを名前をキー、カウントを値として連想配列に入れます。私は現在これでそれをやっています....
var summary = new Dictionary<string,int>();
foreach (myModel.Row in model.items)
{
if (summary.Count == 0 || !summary.ContainsKey(row.ItemTitle))
{
summary.Add(row.ItemTitle, 1);
}
else
{
summary[row.ItemTitle] += 1;
}
}
したがって、model.items は行を含む IList です。
これに関する問題は、else でループ内の不変をインクリメントしているため、より良い方法があることを知っています。
助けてくれてありがとう。
編集
ループ内で不変でないということは、これsummary[row.ItemTitle] += 1;
とそれによるパフォーマンスへの悪影響を回避しようとしているということです。ある場合。