代码之家  ›  专栏  ›  技术社区  ›  iamserious

在C中添加字典中的所有键#

  •  3
  • iamserious  · 技术社区  · 16 年前

    这可能是一个非常愚蠢的问题,但我的辩护是我是一个初学者!

    假设我有一本C语言的字典:

    Dictionary<int,string> D = new Dictionary<int,string>();
    

    如果我想添加所有值(字符串),而不是循环并将所有值附加到StringBuilder,我会这样做:

    string.Join(",",D.values.ToArray());
    

    很好用。现在,如果我想把所有的键(即int)加在一个总数上,有没有类似的方法可以做到这一点?我不想循环(除非这是唯一的方法)每个项目并添加它们。我说的不是D.Add(),它添加了一个新项,而是数学加法,比如键1+键2等等。

    谢谢!

    3 回复  |  直到 16 年前
        1
  •  4
  •   Sruly    16 年前
    D.Keys.Sum();
    

    会做你认为应该做的

        2
  •  2
  •   Jamiec    16 年前

    根据它的定义,将数字相加需要“循环遍历其中的每一个”。

    var total = D.Keys.Sum()
    
        3
  •  1
  •   Stacker    16 年前
    int x = D.Keys.Sum(); or D.Keys.ToList<int>().Sum()
    

    实际上你根本不需要用它来列出