查看变量的物理地址

时间:2018-10-31 08:32:35

标签: c#

自从我开始成为一名程序员以来,我一直使用“高级”语言进行工作,而不会出现内存中断的情况。目前我是C#开发人员,我一直想知道是否有办法查看代码的“内部”,我的意思是查看变量的地址等。

我只是想增进对程序员的了解。

1 个答案:

答案 0 :(得分:4)

您只需要使用unsafe关键字

此外,如果您使用共享工具,则可以轻松查看IL

Resharper -> windows -> IL Viewer

int number = 234;

unsafe 
{
    // Assign the address of number to a pointer:
    int* p = &number;

    // Print the value of *p:
    System.Console.WriteLine("Value at the location pointed to by p: {0:X}", *p);

    // Print the address stored in p:
    System.Console.WriteLine("The address stored in p: {0}", (int)p);
}

其他资源

How to: obtain the address of a variable (C# Programming Guide)

要使用unsafe,您需要显式设置构建设置

-unsafe (C# Compiler Options)

  

要在Visual Studio开发中设置此编译器选项   环境

     
      
  • 打开项目的“属性”页面。

  •   
  • 单击“构建”属性页面。

  •   
  • 选中“允许不安全代码”复选框。

  •