我有一個字典,我正在比較另一個字典(變量類型爲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