-1

我有两个字典 DictA 和 DictB,例如:

Dictionary<int, string> DictA = new Dictionary<int, string>();
DicA.add(1,"Mango");
DicA.add(2,"Grapes");
DicA.add(3,"Orange");

Dictionary<int, string> DictB = new Dictionary<int, string>();
DicB.add(1,"Mango");
DicB.add(2,"Pineapple");

如何比较这两个字典DictA 键、值DictB 键、值的值,如果找到匹配,则增加 COUNTER变量。

注意:与 DicB EG 相比,DicA 可能包含许多行:DicA 有 3 行,DicB 有 2 行。如果 DicA 键、值与 DicB 键、值匹配(相似/相等),则将计数器变量加一!

任何建议..!帮助赞赏...!

4

2 回答 2

3

使用此代码:

int matches = DictA.Keys.Where(k => DictB.ContainsKey(k) && DictB[k] == DictA[k]).Count();
于 2012-06-26T13:30:44.883 回答
1

你可以使用:

Dictionary<int, string> DicA = new Dictionary<int, string>();
DicA.Add(1,"Mango");
DicA.Add(2,"Grapes");
DicA.Add(3,"Orange");

Dictionary<int, string> DicB = new Dictionary<int, string>();
DicB.Add(1,"Mango");
DicB.Add(2,"Pineapple");

int counter = 0;

foreach (var pair in DicA)
{
     string value;

     if (DicB.TryGetValue(pair.Key, out value))
     {
          if (value == pair.Value)
          {
                counter++;
          }
     }
}
于 2012-06-26T13:33:44.943 回答