嘿伙计们,我觉得这是一个非常简单的问题,但我找不到答案。我有一个 IList,里面有一堆项目。我想计算有多少项目被重复(这个 IList 会有很多重复)。因此,如果列表中有 20 次“apple”和 30 次“bannana”,我想将它们放入一个关联数组中,名称为键,计数为值。我目前正在这样做......
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 是一个包含 Row 的 IList。
这样做的问题是,在 else 我在循环中增加一个不可变对象,所以我知道有更好的方法。
在此先感谢您的帮助。
编辑
我所说的循环中没有不可变的意思是我试图避免这种情况summary[row.ItemTitle] += 1;
以及它对性能的负面影响。如果有的话。