共同點:都能儲存一組物件
陣列:在記憶體中時連續儲存的,所以索引很快,賦值與修改元素很快,事件複雜度為o(1),折半查詢法查詢元素效率高。
增添刪除元素的時候需要移動大量元素,因此提供了arraylist物件
string s = new string[3];
s[0] = "a"; //賦值
s[0] = "a1"; //修改
arraylist: 來自於命名空間system.collections,他的大小時按照其中儲存的資料來動態擴充與收縮的,所以我們在申明
arraylist物件的時候不需要指定長度
arraylist list = new arraylist();
list.add("abc"); //新增資料
list.add("123");
list[2] = 345; //修改資料
list.removeat(0); //移除資料
list.insert(0,"hello c#"); //出入資料
注:我們看例項,在list中不僅插入了字串還有數字,這樣在arraylist中插入不同型別的資料是不允許的。因為這樣
arraylist會把所有插入其中的資料都當作成object型別來處理。當我們使用arraylist裡的資料時會報型別不匹配錯誤。
但即使插入資料時保證資料型別一致,在使用時也要將他轉化為對應的原型別來處理,帶來效能損耗,這就是拆裝箱。
裝箱:就是把值型別的資料打包到引用型別的例項中。
int i = 123; object x = (object)i; //把值型別123賦給object型別的物件x
拆箱:從引用型別轉變成值型別
object x = 123;int i = (int)x; //把引用型別123賦值給值型別的變數i
泛型list:由於arraylist存在拆裝箱的效能損耗,後來就有了泛型的概念
listlist = new list();
list.add(123); //新增資料
list.add[0] =345; //修改資料
list.removeat(0); //移除資料
注:上例中,我們插入string字元"helo,c#",ide就會報錯,避免了拆裝箱的效能問題了。
c 陣列 和 陣列指標
今天 乙個朋友 面試,面試題如下 int tmain int argc,tchar argv int ptr int a 1 printf d t d a 1 ptr 1 return 0 我覺得 指標 只要 掌握 兩方面資訊 就 沒什麼 可難的了.一是 指標變數 裡 存放的 位址 二是 指標變數 ...
C語言 陣列(字元陣列)
軟體中,文字處理比數字處理更重要,而處理文字時需要用到字串,所以掌握字串的知識很重要。字串一定有 0 結尾,只有以 0 結尾的字元陣列才能稱為字串。0 是字串的標誌,也是字串結束的標誌。一 字串的定義 char arr 10 char brr 5 不是字串,沒有 0 char crr 5 最後乙個元...
c 陣列,2維陣列
也就是區域性變數的一維陣列,在編譯的時候其維度必須是已知的,因此維度必須是乙個常量表示式。int a ok int a 4 int b a wrong!也就是用new 搞出來的,維度可以是乙個變數 int a 4 int b new int a ok!int a 這是個5行4列的陣列,不過實際c 沒...