Unterschied zwischen Assert.AreEqual und Assert.AreSame?


Antworten:


87

Dies bedeutet, dass AreSame () überprüft, ob es sich um genau dasselbe Objekt handelt - wenn die Referenz dasselbe Objekt im Speicher angibt.

AreEqual () prüft, ob Objekte den gleichen Typ und Wert haben. Gleiche Objekte können an zwei verschiedenen Stellen im Speicher existieren.


68

Assert.AreEqual(a, b) ist das gleiche wie Assert.IsTrue(Object.Equals(a, b))

Assert.AreSame(a, b) ist das gleiche wie Assert.IsTrue(Object.ReferenceEquals(a, b))

(Der einzige Grund, den ich wusste, ist, dass ich es heute vor ein paar Stunden selbst herausgefunden habe, weil ich ein machen musste Assert.IsTrue(Object.ReferenceEquals(a,b))und dachte "Ich frage mich, ob es einen besseren Weg gibt, dies zu tun")

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.