我有一个字典,我正在比较另一个字典(变量类型为IDictionary)。做d1.Equals(d2)产生错误。写下我自己的代码产生真实。两者都是System.Collections.Generic.Dictionary
。我是否缺少一些东西,或者Dictionary
没有一个Equals
实现比较键/值?Dictionary.Equals()是否有一个实现?
private static bool DictEquals<K, V>(IDictionary<K, V> d1, IDictionary<K, V> d2)
{
if (d1.Count != d2.Count)
return false;
foreach (KeyValuePair<K, V> pair in d1)
{
if (!d2.ContainsKey(pair.Key))
return false;
if (!Equals(d2[pair.Key], pair.Value))
return false;
}
return true;
}
+1,正如它在Dictionary类文档中所述。 http://msdn.microsoft.com/en-us/library/3eayzh46.aspx。 – 2009-10-30 14:12:48