我有两个词典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键,值进行比较,如果 MATCH IS FOUND 则 INCREMENT COUNTER 变量。
注意:与DicB相比,DicA可能包含许多行 EG:DicA有3行,DicB有2行。如果DicA键,值与DicB键匹配(相似/相等),则val将计数器变量递增1!
任何建议..!帮助赞赏......!
答案 0 :(得分:3)
使用此代码:
int matches = DictA.Keys.Where(k => DictB.ContainsKey(k) && DictB[k] == DictA[k]).Count();
答案 1 :(得分: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++;
}
}
}