如何计算字典中除第一项值之外的所有值的总和?

我有一个(字符串,十进制)字典,需要从第二个项目开始计算所有值(十进制值)的总和。 使用LINQ可以实现吗?

使用LINQ非常容易实现:

myDict.Skip(1).Sum(x => x.Value); 

但是,标准的Dictionary类不保证项的排序,因此“first”项可以是任何项。

为什么不把它们全部加起来,然后减去第一项呢?

 myList.Sum(x => x.Value) - myList.First().Value; 

使用LINQ很容易:

 var dict = new Dictionary(); dict.Add("A", 1.5m); // This value will be skipped dict.Add("B", 2.7m); dict.Add("C", 1.3m); dict.Add("D", 3.9m); var total = dict.Skip(1).Sum(v => v.Value); Console.WriteLine(total); 

这样就省略了第一个元素;

 dict.Skip(1).Sum(ix => ix.Value);