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 等等来搞开发设计,而是纠结底层无限浪费时间。