值类型的重新赋值没有改变内存中的地址,而引用类型则改变了地址。
下面是简单的代码,
设置断点后:
在即时窗口输入:&i[&值类型变量名]来得到变量的在内存中的地址;
在即时窗口输入:*s [*引用类型变量名]得到变量的在内存中的地址
int i = 1; Console.WriteLine(i); // 即时窗口输入:&i 查看int i在内存中的地址为:0x08e0e494,其值为:i: 1 i = i + 1; Console.WriteLine(i); // 即时窗口输入:&i 查看int i在内存中的地址为:0x08e0e494,其值为:i: 2 string s = "FristNumber"; Console.WriteLine(s); //即时窗口输入:*s 查看string s在内存中的地址为:0x018b4a7c s = "SecondNumber"; Console.WriteLine(s); //即时窗口输入:*s 查看string s在内存中的地址为:0x018b4aa0 Console.ReadLine();