7

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

使用 C++ 和指针这很容易,但是有没有办法使用 C# 引用来做到这一点?

4

2 回答 2

15

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

制作对象 ID

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

于 2012-04-11T10:21:03.703 回答
5
object.ReferenceEquals(objA, objB)
于 2012-04-11T10:11:20.697 回答