system.collenctions和system.collenctions.generic 中提供了很多列表、集合和陣列。例如:list集合,陣列int,string ......,dictory字典等等。但是這些列表、集合和陣列的執行緒都不是安全的,不能接受併發請求。
1.陣列
優點:陣列在記憶體中是連續儲存的、所以它的索引速度是非常快的、時間複雜度為o(1)、而且它的賦值/修改/獲取元素也是非常簡單的。
缺點:1、定義陣列的時候需要指定陣列的長度(過長會造成記憶體浪費、過短會導致程式異常system.indexoutofrangeexception:"索引超出陣列界限")
2、插入和刪除元素效率低、也比較麻煩。
在不清楚陣列長度的時候、就很尷尬了。 所以c#提供了arraylist了來處理這些問題...
2.arraylist
優點:1、arraylist大小會根據需要動態增加的陣列。
2、實現了ilist介面、可以方便的對資料進行新增、插入和刪除。
缺點:1、arraylist會把插入的資料都當做object型別來儲存、在運算元據的時候可能會因為型別不匹配而出現異常、它是非型別安全的物件。
2、由於儲存的是object型別、在使用的時候進行型別轉換、會造成裝箱拆箱、從而損耗效能。
裝箱:把值型別轉換成引用型別;
拆箱:把引用型別轉換成值型別。
3.list
優點:由於泛型list是強型別、編譯器會驗證型別安全。這樣就避免了型別的不安全、以及資料強制轉換導致裝箱拆箱損耗效能。
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 沒...