標籤:str insert 需求 根據 長度 使用 指定 nbsp 帶來
在C#中數組,ArrayList,List都能夠儲存一組對象。
一、數組
聲明:資料類型[] arrayName = new 資料類型[int Length];||資料類型[] arrayName = new 資料類型[]{aa,bb,cc,dd};
取賦值:obj = arrayName[index];arrayName[index] = obj;
特性:在記憶體中是連續儲存的,所以它的索引速度非常快,而且賦值與修改元素也很簡單。需指定長度。
適用情境:在清楚數組長度以及長度固定使使用。
二、ArrayList
聲明:ArrayList arrayList= new ArrayList();
操作:arrayList.Add(obj);//添加對象 arrayList.RemoveAt(index);//移除對象 arrayList.Insert(index, obj); //插入對象 arrayList[index] = obj; //賦值||修改值 obj = arrayList[index] ;//取值
特性:ArrayList是命名空間System.Collections下的一部分,在使用該類時必須進行引用,同時繼承了IList介面,提供了資料存放區和檢索。ArrayList對象的大小是按照其中儲存的資料來動態擴充與收縮的。所以,在聲明ArrayList對象時並不需要指定它的長度。
適用情境:因為ArrayList對數組內的對象沒有類型的要求,所以可能存在數組內對象不是同一種類型,也就是ArrayList不是型別安全的。在儲存或檢索實值型別時通常發生裝箱和unboxing操作,帶來很大的效能耗損。所以我們在不清楚數組長度以及數組內的對象資料類型是否統一時使用。
三、泛型List
聲明:List<T> arrayList= new List<T>();
操作:arrayList.Add(obj);//添加對象 arrayList.RemoveAt(index);//移除對象 arrayList.Insert(index, obj); //插入對象 arrayList[index] = obj; //賦值||修改值 obj = arrayList[index] ;//取值
特性:List類是ArrayList類的泛型等效類,它的大部分用法都與ArrayList相似,因為List類也繼承了IList介面。最關鍵的區別在於,在聲明List集合時,我們同時需要為其聲明List集合內資料的物件類型。
適用情境:我們在清楚數組長度以及數組內的對象資料類型是否統一時使用。
寫在後面:數組的容量是固定的,而ArrayList和List的容量可以根據需求進行修改。List相對於ArrayList在使用實值型別使的裝箱拆箱操作更節省效能消耗。
C# 數組、ArrayList和List