C# 數組、ArrayList和List

來源:互聯網
上載者:User

標籤: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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.