Assert.AreEqual和Assert.AreSame之间的差异?
Assert.AreEqual和Assert.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))
并且想: “我想知道是否有更好的方法可以做这个”)