在字典中添加项目

时间:2014-11-02 09:34:31

标签: c# dictionary foreach int sum

我在如何在字典中添加项目时遇到问题。

        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。

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);