Assert.AreEqual和Assert.AreSame之间有区别吗?


Answers:


87

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

AreEqual()检查对象的类型和值是否相等。相等的对象可以存在于内存中的两个不同位置。


68

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))并认为“我想知道是否有更好的方法来做到这一点”)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.