C#中Array和ArrayList的區別及泛型


1.Array累心的變量在聲明的同時必須進行實例化(至少的初始化數組的大小),而ArrayList可以只先聲明。

2.Array只能存儲同構的對象,ArrayList可以存儲異構變量。

/*這里有一個裝箱和拆箱的概念,在以后會用到:如  將String,int等隱式轉化為Object是裝箱.  將Object強制轉化為string,int是拆箱.    在向Arraylist添加數據的過程中,對象先被裝箱為Object,需要調用時,再拆箱為對應的對象,   但在這個過程中,強制轉化加上ArrayList的異構特性,可能導致很多問題,由此提出了泛型的概念*/

3.在CLR托管對中東存放方式.

Array是始終連續存放的,ArrayList不一定是

4.初始化大小

Array對象的初始化必須制定大小,且創建后的數組大小是固定的,而ArrayList的大小可以動態指定.

關於泛型:

ArrayList是一個非泛型集合類,添加到ArrayList中的任何引用或值類型都將隱式向上強制轉換為Object.如果項是值類型,則必須在將其添加到列表中是進行裝箱操作.

泛型是最常見的用途是創建集合類。.Net Framework類庫在Collection.Generic命名空間中包含ijge泛型集合類。List<T>類是ArrayList類的泛型等效類。使用大小可以按需動態增加的蘇族實現IList泛型接口.動態數組的好處是不必須事先設置較大的數組,減少不必要的內存開銷.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM