C# · 12月 31, 2021

c# – 我可以比较两个字典的键吗?

使用C#,我想比较两个词典是具体的,两个词典具有相同的键但不相同的值,我发现一个方法比较,但我不太确定如何使用它?有没有一种方法,除了迭代每个键? Dictionary[ {key : value}]Dictionary1[ {key : value2}]解决方法 如果所有你想要做的是看到键是不同的,但不知道它们是什么,你可以使用SequenceEqual扩展方法对每个字典的Keys属性: Dictionary<string,string> dictionary1;Dictionary<string,string> dictionary2;var same = dictionary1.Count == dictionary2.Count && dictionary1.Keys.SequenceEqual(dictionary2.Keys);

如果你想要实际的差异,就像这样:

var keysDictionary1HasThat2DoesNot = dictionary1.Keys.Except(dictionary2.Keys);var keysDictionary2HasThat1DoesNot = dictionary2.Keys.Except(dictionary1.Keys);