Sự khác biệt giữa Assert.AreEqual và Assert.AreSame?


Câu trả lời:


88

Có nghĩa là AreSame () kiểm tra xem chúng có phải là cùng một đối tượng - nếu tham chiếu chỉ ra cùng một đối tượng trong bộ nhớ.

AreEqual () kiểm tra các đối tượng có kiểu và giá trị bằng nhau. Các đối tượng bằng nhau có thể tồn tại ở hai vị trí khác nhau trong bộ nhớ.


69

Assert.AreEqual(a, b) giống như Assert.IsTrue(Object.Equals(a, b))

Assert.AreSame(a, b) giống như Assert.IsTrue(Object.ReferenceEquals(a, b))

(lý do duy nhất tôi biết là hôm nay tôi mới tự tìm ra cách đây vài giờ vì tôi cần phải làm Assert.IsTrue(Object.ReferenceEquals(a,b))và nghĩ rằng "Không biết có cách nào tốt hơn để làm điều này không")

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.