Assert.AreEqualとAssert.AreSameの違いは何ですか?
つまり、参照がメモリ内の同じオブジェクトを示している場合、AreSame()はそれらが正確に同じオブジェクトであることをチェックします。
AreEqual()は、オブジェクトのタイプと値が等しいことを確認します。等しいオブジェクトは、メモリ内の2つの異なる場所に存在できます。
Assert.AreEqual(a, b)
はAssert.IsTrue(Object.Equals(a, b))
と同じです
Assert.AreSame(a, b)
はAssert.IsTrue(Object.ReferenceEquals(a, b))
と同じです
(私が知っていた唯一の理由は、Assert.IsTrue(Object.ReferenceEquals(a,b))
を実行する必要があったため、今日数時間前に自分でそれを見つけただけだということです「これを行うより良い方法があるのだろうか」 )