1. 程式人生 > >不犯錯自然好,但犯錯或許就是為了能多學一些!

不犯錯自然好,但犯錯或許就是為了能多學一些!

呼叫預設的建構函式(new List<>()),就可以建立列表物件。

使用預設的建構函式建立一個空列表。元素新增到列表中後,列表的容量就會擴大為可接納4個元素。如果添加了第5 個元素,列表的大小就重新設定為包含8 個元素。如果8 個元素還不夠,列表的大小就重新設定為包含16 個元素。每次都會將列表的容量重新設定為原來的2 倍。

如果列表的容量改變了,整個集合就要重新分配到一個新的記憶體塊中。在List<T>泛型類的實現程式碼中,使用了一個T 型別的陣列。通過重新分配記憶體,建立一個新陣列,Array.Copy()方法將舊陣列中的元素複製到新陣列中。為節省時間,如果事先知道列表中元素的個數,就可以用建構函式定義其容量

。如果該容量不足以容納要新增的元素,就把集合的大小重新設定為包原來的2 倍。使用Capacity 屬性可以獲取和設定集合的容量。容量與集合中元素的個數不同。集合中的元素個數可以用Count 屬性讀取。容量總是大於或等於元素個數。只要不把元素新增到列表中,元素個數就是0。 如果已經將元素新增到列表中,且不希望新增更多的元素,就可以呼叫TrimExcess()方法,去除不需要的容量。但是,因為重新定位需要時間,所以如果元素個數超過了容量的90%,TrimExcess()方法就什麼也不做。

List<int> listTest = new List<int>();

List<int> listTest = new List<int>();
listTest.Add(1);

List<int> listTest = new List<int>();
listTest.Add(1);
listTest.Add(2);

List<int> listTest = new List<int>();
listTest.Add(1);
listTest.Add(2);
listTest.Add(3);

List<int> listTest = new List<int>();
listTest.Add(1);
listTest.Add(2);
listTest.Add(3);
listTest.Add(4);

List<int> listTest = new List<int>();
listTest.Add(1);
listTest.Add(2);
listTest.Add(3);
listTest.Add(4);
listTest.Add(5);

 

List<int> listTest = new List<int>(5);

List<int> listTest = new List<int>(5);
listTest.Add(1);

 

List<int> listTest = new List<int>(5);
listTest.Add(1);
listTest.Add(2);

List<int> listTest = new List<int>(5);
listTest.Add(1);
listTest.Add(2);
listTest.Add(3);

List<int> listTest = new List<int>(5);
listTest.Add(1);
listTest.Add(2);
listTest.Add(3);
listTest.Add(4);

 

List<int> listTest = new List<int>(5);
listTest.Add(1);
listTest.Add(2);
listTest.Add(3);
listTest.Add(4);
listTest.Add(5);