1. 程式人生 > >asp.net(C#.VB)array、arraylist和list的區別(轉自CSDN)

asp.net(C#.VB)array、arraylist和list的區別(轉自CSDN)

1.陣列、arraylist和list的區別(請詳細解釋)
2.泛型是怎麼回事?

===============
我簡單的說一下:
陣列:固定長度的一段記憶體。
ArrayList:可以理解為可以動態增加記憶體的陣列,是一種連結串列。
list是一種範型連結串列,解決了ArrayList對於值型別需要裝箱拆箱的缺點。
================

陣列就是值物件,它儲存資料元素型別的值的一系列位置.
Arraylist和list可以提供新增,刪除,等操作的資料.
泛形中的元素型別是固定的.
比如:
arraylist a = new arraylist();
a.add(1);
a.add("aaaa");
a.add(new class());
Arraylist中可以新增任何型別的元素.

如果定義的是泛形的話
List <MyClass > myclasslist = new List <MyClass >
MyClassList.add(new MyClass());
泛形中就不能再新增別的型別的.它只能新增MyClass型別的例項.

據說這樣做的好處是:當讀取和儲存操作時,可以減少因為折箱和裝箱帶的型別轉換的效能損失.

========================

據說這樣做的好處是:當讀取和儲存操作時,可以減少因為折箱和裝箱帶的型別轉換的效能損失.
-------------------------
泛型的好處:
通過允許指定泛型類或方法操作的特定型別,泛型功能將型別安全的任務從您轉移給了編譯器。不需要編寫程式碼來檢測資料型別是否正確,因為會在編譯時強制使用正確的資料型別。減少了型別強制轉換的需要和執行時錯誤的可能性。泛型提供了型別安全但沒有增加多個實現的開銷。