我在如何在字典中添加项目时遇到问题。
int y = 0;
foreach (var entry in fun)
{
entry.Value += entry.Value;
y = entry.Value;
}
这不起作用。我想在我的词典中得到所有项目的总和:
var fun = new Dictionary<string, int>();
例如,字符串为Hello fun fun
,因此dictinary将显示Hello:1,Fun:2,sum为3.我希望计算3。
答案 0 :(得分:2)
有更优雅的LINQ解决方案,但这应该可以解决问题:
int y = 0;
foreach (var entry in fun)
{
y += entry.Value;
}
正如@Rotem在评论中提到的那样简单:
fun.Values.Sum()
答案 1 :(得分:1)
这是你必须要做的。
foreach (var entry in fun)
{
y = y + entry.Value;
}
答案 2 :(得分:0)
您的问题是您正在尝试修改KeyValuePair类型的Value属性,该属性是只读的。
更好地使用LINQ:
fun.Aggregate(0, (sum, keyValue) => sum + keyValue.Value);