在观察窗口中显示/比较对象引用的任何方法?

Gaz*_*yer 6 c# reference visual-studio-debugging

在调试时,我有时会发现需要在监视窗口中比较对象引用,以查看两个变量是否实际引用了同一个对象.

使用C++和指针这很容易,但有没有办法用C#引用呢?

Rob*_*bie 15

实际上有一个内置功能,用于比较Watch窗口中的对象,不需要您直接调用任何函数.它在右键菜单中为"Make Object ID"

制作对象ID

它将使用ID标记对象,然后您可以添加第二个对象并使用id标记它.如果这些对象是相同的引用,那么它们将具有相同的ID.这允许您在调试时查看是否/何时更改.

  • ID 显示在“值”列的右端。您可能需要将“值”列加宽才能看到它。 (2认同)

Har*_*arm 5

object.ReferenceEquals(objA, objB)
Run Code Online (Sandbox Code Playgroud)