我有 C++ 背景,如果这是非 C# 的思维方式,我很抱歉,但我只需要知道。 :)
在 C++ 中,如果我有两个指针,并且我想知道它们是否指向同一对象,我可以查看内存/监视窗口并查看它们的值 - 看看它们是否指向相同的内存空间。
在 C# 中,我还没有找到类似的东西。具有完全相同值的一种引用类型实际上可能是完全相同的对象,也可能是截然不同的东西。
有没有办法让我在 C# 中看到此类信息?也许某种相当于观察窗口的 & 运算符或类似的东西?
您正在寻找的是对象 ID。对于调试器中的任何引用类型,您可以右键单击并说“创建对象 ID”。每当调试器中显示该实例时,都会向值列添加 # 后缀。您还可以将 #1、#2 等添加到监视窗口,以便稍后再次查看它们。
第 0 步 - 运行此代码
static void Main(string[] args)
{
var x = "a string";
var y = x;
System.Diagnostics.Debugger.Break();
}
第 1 步 - 右键单击并选择“创建对象 ID”
第 2 步 - 实例现在显示为带有 1# 后缀。注意:我在这一步中没有做任何特别的事情。单击“创建对象 ID”后立即both行已更新以显示 1# 后缀,因为它们引用同一实例。
第 3 步 - 通过在监视窗口添加 1# 随时查看它们
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)