代码之家  ›  专栏  ›  技术社区  ›  Sorin Comanescu

在调试器(C#)中检查&x

  •  0
  • Sorin Comanescu  · 技术社区  · 16 年前

    在控制台程序中执行此操作:

    object x = new string(new char[0]);
    


    编辑:我问这个是因为 another thread

    object x = new string(new char[0]);
    object y = new string(new char[0]);
    

    x和y将引用同一对象。当我想检查它时,我尝试使用&在调试器中检查这些变量的地址;接线员,一开始,我觉得他们不一样。但是,在扩展结果后,第二级值确实匹配-因此这些似乎是“真实地址”。

    2 回复  |  直到 9 年前
        1
  •  2
  •   ChrisF    16 年前

    如果我显示 x

    &x 0x062fd7f0 (在我的例子中)类型报告为“object&*”。展开后,将给出另一个指针和类型“object&”。

    在第一种情况下,调试器有足够的信息来计算类型并向您显示有用的内容。

    你的更新很有意义。报告的值 &x &y 是指向变量的指针。它们持有的值是指向不可变字符串“”的指针。

        2
  •  0
  •   Tror    16 年前

    您不能这样做,因为内存管理是由CLR处理的