Різниця між Assert.AreEqual та Assert.AreSame?


Відповіді:


88

Це означає, що AreSame () перевіряє, чи є вони абсолютно однаковим об'єктом - якщо посилання вказує той самий об'єкт у пам'яті.

AreEqual () перевіряє, що об'єкти мають однаковий тип і значення. Рівні об'єкти можуть існувати в двох різних місцях пам'яті.


69

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))і подумав: "Цікаво, чи є кращий спосіб це зробити")

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.