當有一組數據需要存放,到底是使用T[]呢,還是選擇List<T>呢?
先來看數組。
所有的數組類型都隱式地從System.Array這個抽象類派生,而System.Array又派生自System.Object。也就是說數組是引用類型。通過如下方式創建數組:
int[] arrInt = new int[10];
以上,在托管堆上分配了可以容納10個未裝箱int對象所需要的內存塊(這個內存塊除了容納數組元素所占的內存,還包括數組元素對象的類型對象指針、同步塊索引等額外成員),然后內存塊地址被返回并保存到線程棧上的arrInt變量中。
而List<T>,實際上,在內部也維護著一個數組,只不過這個數組的容量可以動態增加。就像這里說的。
總結:如果數據的容量是動態變化的,需要操作,比如插入或刪除元素,就使用List<T>;如果數據的容量是固定的,可以考慮使用T[]。
新聞熱點
疑難解答