C# 比较两个词典并将结果存储在其他词典中

C# 比较两个词典并将结果存储在其他词典中,c#,dictionary,C#,Dictionary,如何比较两本词典,我的词典如下 Dictionary<string, string> dic = new Dictionary<string, string>(); dic.Add("One", "One"); dic.Add("Two", "Two"); Dictionary<string, string> dic1 = new Dictionary<string, string>(); dic1 .Add("One", "

如何比较两本词典,我的词典如下

  Dictionary<string, string> dic = new Dictionary<string, string>();
  dic.Add("One", "One");
  dic.Add("Two", "Two");

  Dictionary<string, string> dic1 = new Dictionary<string, string>();
  dic1 .Add("One", "One");
  dic1 .Add("Two", "Two");
  dic1 .Add("Three", "Three");
Dictionary dic=newdictionary();
dic.添加(“一”、“一”);
dic.添加(“两个”、“两个”);
字典dic1=新字典();
第1条加入(“一”、“一”);
dic1.添加(“两个”、“两个”);
第1条加入(“三”、“三”);

我尝试了一些类似于
var diff=dic1.Where(x=>x.Value!=dic[x.Key])的方法。ToDictionary(x=>x.Key,x=>x.Value)但是我得到了一个例外,因为密钥不匹配,所以有人能帮我吗这会给你带来不同

var resultDic = dic1.Except(dic).ToDictionary(x => x.Key, x => x.Value);

这会给你带来不同

var resultDic = dic1.Except(dic).ToDictionary(x => x.Key, x => x.Value);
专用空比较器(字典dic,字典dic1)
{
var diff=dic.Except(dic1).Concat(dic1.Except(dic));
}
专用无效比较器(字典dic,字典dic1)
{
var diff=dic.Except(dic1).Concat(dic1.Except(dic));
}