一些關於集合的不不清不楚的東西

2022-08-29 08:12:12 字數 1260 閱讀 4089

1.集合分為 泛型集合 list 和 非泛型集合 arraylist

2.集合與陣列類似 但相比較於陣列 集合的好處在於 長度不固定 資料型別可以不用定義(牽扯到泛型集合最基本的判斷 事先定義資料型別的為泛型集合 否則為非泛型集合)

並且集合區別於陣列的是可以動態擴容,並且它的索引會 根據程式的擴充套件而重新進行分配和調整。被刪除的物件,索引也並不會佔位。

3.泛型集合的命名空間為  

using system.collections.generic 

非泛型集合的命名空間為 

using system.collections

4.關於命名空間  非泛型的命名空間在c#程式時自動生成 意味著c#提倡使用泛型集合 因為 使用泛型編寫程式增加了極大的效率和靈活性,不會強行對值型別進行裝箱和拆箱,或對引用型別進行向下強制型別轉換。

5.關於arraylist(單列集合)的使用

add(object value)將物件新增到arraylist的結尾處。並且返回值 為int。

remove(object value)將指定的元素刪除,並且一次只刪除乙個。

removeat(int index)將指定元素下標的值刪除。

insert(int index,object value)將指定的元素新增到指定的下標。

contains(object value)判斷指定的元素是否存在集合中,返回值為布林型別。

clear()刪除集合中的所有元素

6.關於hashtable(雜湊表)的使用

keys:鍵的集合

values:值的集合

add(object key,object value):將指定的鍵和值的元素新增到集合中。

remove(object key):移除帶有指定鍵的元素

clear():移除所有元素

7. 泛型集合是c#2.0的乙個新特性。泛型引入乙個概念:型別引數。是乙個資料型別,可以是類型別,基本資料型別。通過使用型別引數

泛型集合也主要分為兩種使用 

list物件名 = new list(); 和  dictionary物件名 = new dictionary();

8.泛型優點

1.效能高:定義資料型別,不需要型別轉換,避免拆裝箱帶來的效能損失;

2.型別安全:定義允許使用的資料型別,在編譯時檢查型別錯誤(可以將執行期間的錯誤提前拋給編譯期間),及早發現錯誤。

3.實現**的重用。泛型就相當於模板,由於它支援任意的資料型別。開發人員不必為每種特定的資料型別編寫一套方法。所以它具有極大的可重用性。

不清不楚的 Session 和 Cookie

會話 session 跟蹤是web程式中常用的技術,用來跟蹤使用者的整個會話。常用的會話跟蹤技術是cookie與session。cookie通過在客戶端記錄資訊確定使用者身份,session通過在伺服器端記錄資訊確定使用者身份。cookie機制 cookie技術是客戶端的解決方案,cookie就是由...

二級指標與指標陣列之間不清不楚的關係

在初次學習指標的時候,無論是初始化一維陣列 下面的func函式 還是訪問一維陣列 showarr函式 發現一維陣列名與一級指標有著強烈等價的關係。於是二維陣列與二級指標有這強烈的關係的思想便油然而生,然而事實上,二維陣列與二級指標沒有半毛錢的關係。1 一維陣列與一級指標的關係不必說,直接看 incl...

關於堆,棧的一些東西

堆和棧的區別 1 預備知識 程式的記憶體分配 乙個由c c 編譯的程式占用的記憶體分為以下幾個部分 u 1 棧區 stack 由編譯器自動分配釋放 由編譯器在需要的時候分配,在不需要的時候自動清除 存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。u 2 堆區 heap 一般由程式...