调试时,我有时会发现需要在监视窗口中比较对象引用,以查看两个变量是否实际引用了同一个对象。
使用C ++和指针这很容易,但有没有办法用C#引用呢?
答案 0 :(得分:15)
实际上有一个内置功能,用于比较Watch窗口中的对象,不需要您直接调用任何函数。它在右键菜单中为“Make Object ID”
它将使用ID标记对象,然后您可以添加第二个对象并使用id标记它。如果这些对象是相同的引用,那么它们将具有相同的ID。这使您可以在调试时查看是否/何时更改。
答案 1 :(得分:5)
object.ReferenceEquals(objA, objB)