考慮以下幾點:數組屬性是否導致堆上的內存分配?
public class FooBar {
public int[] SomeNumbers {
get { return _someNumbers; }
private set;
}
private int[] _someNumbers;
public FooBar() {
_someNumbers = new int[2];
_someNumbers[0] = 1;
_someNumbers[1] = 2;
}
}
// in some other method somewhere...
FooBar foobar = new FooBar();
Debug.Log(foobar.SomeNumbers[0]);
什麼我不知道的,不調用SomeNumbers屬性導致堆分配;基本上它會導致數組的副本被創建,還是隻是一個指針?
我問,因爲我試圖解決由於返回數組功能的一些GC的問題我有,我想確保我的緩存一些這樣的價值觀的理念將真正發揮作用
數組通過引用傳遞/返回,所以是的,你的屬性基本上只是返回一個指針。 –