Assert.AreEqual和Assert.AreSame之间的差异?

Assert.AreEqualAssert.AreSame有什么区别?

这意味着AreSame()检查它们是完全相同的对象 – 如果引用在内存中指示相同的对象。

AreEqual()检查对象是否具有相同的types和值。 记忆中两个不同的地方可以存在相同的物体。

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))因为我需要做一个Assert.IsTrue(Object.ReferenceEquals(a,b))并且想: “我想知道是否有更好的方法可以做这个”)