如何获得Dictionary对象C#中键之间的差异总和

时间:2013-10-02 10:53:33

标签: linq c#-4.0 dictionary

我有一个带键的字典作为一个整数值,它是数组的索引和值字段中的字符串。我需要同一个字典中键之间的差异总和

Dictionary<int, string> foo = new Dictionary<int, string>() 
{
  {0,"text1"},
  {2,"text2"},
  {6,"text3"},
  {8,"text4"}
};

输出

  • (8-6)= 2
  • (6-2)= 4
  • (2-0)= 2
  

总计:2 + 4 + 2 = 8

2 个答案:

答案 0 :(得分:3)

因此,在总计算中,所有其他键值都将被加上和减去,这里只需要max和min:

var total = foo.Max(kvp => kvp.Key) - foo.Min(kvp => kvp.Key);

答案 1 :(得分:2)

应该是Max Key和Min Key之间的差异。

int total = foo.Keys.Max() - foo.Keys.Min();