Разница между утверждением.Равны и утверждают.AreSame?



в чем разница между Assert.AreEqual и Assert.AreSame?

433   2  

2 ответов:

Это означает, что AreSame() проверяет, что они являются точно таким же объектом - если ссылка указывает на тот же объект в памяти.

AreEqual () проверяет, что объекты имеют одинаковый тип и значение. Равные объекты могут существовать в двух разных местах в памяти.

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)) и думал "интересно, есть ли лучший способ сделать это")

Comments

    Ничего не найдено.