【问题标题】:Adding items in dictionary在字典中添加项目
【发布时间】:2014-11-02 09:34:30
【问题描述】:

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

        int y = 0;
        foreach (var entry in fun)
        {
                entry.Value += entry.Value;
                y = entry.Value;
        }

这不起作用。我想要字典中所有项目的总和:

var fun = new Dictionary<string, int>();

例如,字符串是Hello fun fun,所以字典会显示Hello: 1,Fun: 2,sum 是3。我想计算那个3。

【问题讨论】:

  • 那么您想知道字典中的元素个数还是整数值的总和?

标签: c# dictionary foreach int sum


【解决方案1】:

有更优雅的 LINQ 解决方案,但这应该可以解决问题:

    int y = 0;
    foreach (var entry in fun)
    {
            y += entry.Value;
    }

正如@Rotem 在 cmets 中提到的那样,它很简单:

fun.Values.Sum()

【讨论】:

  • 更优雅的 LINQ 解决方案是:fun.Values.Sum()
【解决方案2】:

这是你必须做的。

 foreach (var entry in fun)
        {

                y = y + entry.Value;
        }

【讨论】:

    【解决方案3】:

    您的问题是您正在尝试修改 KeyValuePair 类型的 Value 属性,该属性是只读的。

    更好地使用 LINQ:

    fun.Aggregate(0, (sum, keyValue) => sum + keyValue.Value);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-18
      • 2014-09-14
      • 2020-05-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多