【发布时间】:2014-03-03 23:42:47
【问题描述】:
我正在尝试比较两个字典,程序是用 C# Visual Studio 2010 编写的。
Dictionary<int, string> members1 = new Dictionaries<int, string>{
{1, "adam"},
{2, "bob"},
{3, "cameron"}
}
Dictionary<int, string> members2 = new Dictionaries<int, string>{
{1, "adam"},
{2, "bill"},
{4, "dave"}
}
我想找相同的id(key),name(value)是否相同都无所谓。
我一直在搜索并找到 Intersect 和 Except,但我认为它的工作方式与我想要的不太一样。
对于上面的示例,如果我调用 Intersect 函数,我希望它返回 List<int>{1, 2}。
如果我打电话给members1.Except(members2),我希望它返回
Dictionary<int, string> intersectMembers{
{1, "adam"},
}
我想到的一个解决方案是编写2个for循环并使用dictionary.Contains(key)来获得我想要的结果。
有没有更直接的方法?
谢谢
【问题讨论】:
标签: c# dictionary compare intersect except