Les dictionnaires .NET ont les mêmes clés et valeurs, mais ne sont pas "égaux"

Ce test échoue:

using Microsoft.VisualStudio.TestTools.UnitTesting;        

[TestMethod()]
        public void dictEqualTest() {
            IDictionary<string, int> dict = new Dictionary<string, int>();
            IDictionary<string, int> dictClone = new Dictionary<string, int>();

        for (int x = 0; x < 3; x++) {
            dict[x.ToString()] = x;
            dictClone[x.ToString()] = x;
        }

        Assert.AreEqual(dict, dictClone); //fails here
        Assert.IsTrue(dict.Equals(dictClone)); //and here, if the first is commented out
        Assert.AreSame(dict, dictClone); //also fails
    }

Suis-je malentendu quelque chose sur la façon dont un Dictionary fonctionne?

Je suis à la recherche pour le Java équivalent de .equals()ne cherche pas à vérifier référentielle de l'égalité.

source d'informationauteur Nick Heiner