>我有两个字典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 键,值,如果找到匹配,则递增计数器变量。
注意:与 DicB 相比,DicA 可能包含许多行EG:DicA 有 3 行,DicB 有 2 行。如果 DicA 键、值与 DicB 键匹配(相似/等于),则计数器变量递增 1!
任何建议..!感谢帮助...!
使用以下代码:
int matches = DictA.Keys.Where(k => DictB.ContainsKey(k) && DictB[k] == DictA[k]).Count();
您可以使用:
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++;
}
}
}