C#最快的方法来总结字典中的值

时间:2015-05-28 14:51:39

标签: c# dictionary

我已经有了一个字典,它可以快速更新大约50个更新,每个(ms)可能更多信息。我正在使用以下内容总结字典的值。

DataPointDB.Sum(k => k.Value.Sum(v => v.Value));

然而,不时发生的事情是从319变为4445678329,我不明白,因为它不应该跳得那么高。

我想这更像是两个问题:

1)有没有更快的方法来总结字典中的值?

2)为什么这个数字会跳到一个疯狂的价值?

更多信息:在任何给定点插入数据库的最高值是12。

谢谢你们。

更新: 来自调用方法。

 Task k = new Task(() => updateDB(x, name, y, time));
                        k.Start();
 private void updateDB(double x, string name, int y, Timespan Time)
 {
   lock (locker)
   {
     Dictionary<string, int> tmp;
     Dictionary<string, int> Dummy;

        if(DatapointDB.ContainsKey(x))
        {
             DatapointDB.TryRemove(Key, out Dummy);

         }
          tmp = DataPointDB[x];

           if(tmp.ContainsKey(name))
            {
                 tmp[name] = depth;

            }
            else
            {
                tmp.Add(name, y);
            }
        Calc();
   }

 }

  private void Calc()
    {
        lock (locker)
        {
            try
            {


               int x = DataPointDB.Sum(k => k.Value.Sum(v => v.Value));



                NotifyRatioChanged("Current difference: " + "\t" + X.ToString());
            }
            catch (System.ArgumentException ex)
            {

                Console.WriteLine(ex.ToString());
                throw;

            } 
        }
      }

0 个答案:

没有答案