public static int i = 100; private void buttonLogin_Click(object sender, EventArgs e) { string addr = getMemory(i);//获取变量内存地址; int b = addr;//本人希望另外声明一个int b,使其地址和i的地址一样,可以做到吗?(实际情况i是另一个类的静态变量.) //最终的目的是希望b变量会随着i变量的值改变而改变. 其他方法也可以. } public static string getMemory(object o) // 获取引用类型的内存地址方法 { GCHandle h = GCHandle.Alloc(o, GCHandleType.Pinned); IntPtr addr = h.AddrOfPinnedObject(); return "0x" + addr.ToString("X"); }
解决方案
50
你直接使用 i不就完了嘛。
50
托管程序,变量地址是浮动的,低级的东西跟托管应用系统之间,有着浮动管理核心层。正原因是有了这些中间层,才有了虚拟托管系统的基本框架。
假如你不能理解这类系统,请回到 c 语言开发层面去编程,甚至是汇编语言开发。不能理解这些就不能很好地使用 c# 或 java 等等来搞开发设计,而是纠结底层无限浪费时间。
假如你不能理解这类系统,请回到 c 语言开发层面去编程,甚至是汇编语言开发。不能理解这些就不能很好地使用 c# 或 java 等等来搞开发设计,而是纠结底层无限浪费时间。