嗨,我一直在寻找这个问题的答案很长时间。我想知道关于我的代码何时会占用内存的幕后事情。
前任。int myVar;
- 这段代码是否已经占用了内存?内存是指堆栈吗?最初在 .NET 中,我注意到这条线的默认值为零(0)。
- 但是变量真正存储的是什么?值 ZERO 还是存储值 ZERO(0) 的地址?
同样从我对引用类型的理解来看,当我编写这行代码时
我的类我的对象;// 只声明
myObj = new MyClass() //创建实例
我想知道引擎盖下发生了什么。我的假设正确吗?myObj 将驻留在堆栈中,并且 myObj 能够存储地址。在我创建一个实例时,该对象是在堆中创建的,并且该对象的地址被传递给 myObj 变量。
问题是,我想知道以下两者之间是否更有效(内存方面和性能方面)。
代码 1: int myVar; myVar = FunctionThatReturnsAnInteger(); Console.WriteLine(myVar);
代码
Console.WriteLine(FunctionThatReturnsAnInteger());
我想要一个很好的解释,并且类比非常方便。
提前致谢。:)