Сравнение 2 словаря <строка, строка> Экземпляры

Я хочу сравнить содержимое двух экземпляров Dictionary независимо от порядка элементов, которые они содержат. SequenceEquals также сравнивает порядок, поэтому я сначала упорядочиваю словари по ключу, а затем вызываю SequenceEquals .

Есть ли метод, который я могу использовать вместо SequenceEquals , который будет сравнивать только содержимое?

Если нет, это идеальный способ сделать это?

Dictionary<string, string> source = new Dictionary<string, string>();
Dictionary<string, string> target = new Dictionary<string, string>();

source["foo"] = "bar";
source["baz"] = "zed";
source["blah"] = null;

target["baz"] = "zed";
target["blah"] = null;
target["foo"] = "bar";

// sequenceEquals will be false
var sequenceEqual = source.SequenceEqual(target);
// contentsEqual will be true
var contentsEqual = source.OrderBy(x => x.Key).SequenceEqual(target.OrderBy(x => x.Key));
37
задан Jeff Ogata 13 October 2010 в 23:16
поделиться