让我们假设这个非常基本的C#代码:
var tab = new int[10];
Run Code Online (Sandbox Code Playgroud)
我已经读到非固定变量可以通过垃圾回收器在内存中移动。
我的问题是:在我的程序执行过程中,“ tab”地址是否可能更改?
我只想了解。
实际上,无论制表符值是否更改。
Ren*_*nat 10
是。的内存地址tab可以更改(并且很可能会更改)。参考:ECMA-334 C#语言规范,第23.4章。
关键是,在C#中,因为它是一种托管语言,所以您不必为内存地址而烦恼。所有对tab变量的引用将相应地更改,并且您的程序将在垃圾回收中无缝生存。