泛型是c#2.0的新增特性,通過泛型我們可以建立型別安全的資料型別,它最普遍的就是用在建立集合類,可以約束集合類的元素的型別,這樣就保證了型別的安全,不是指定型別不能新增到該集合中。在arraylist中,新增元素時都是object型別,如果要新增乙個值型別,需要把它轉換成引用型別,這樣就增多了程式的裝箱、拆箱操作。list的訪問、新增、刪除用法類似與arraylist(arraylist用法請見前一篇文章),t對集合中的元素進行約束,表明集合中元素的型別。
在c#中還有一種泛型集合dictionary,看到這個不知道大家會不會想起前一篇文章提到的hastable。對沒錯他儲存資料的方式類似與雜湊表,也是通過鍵/值對來訪問的。它具有泛型的所有特性,型別約束,無須型別轉換。宣告方式如:dictionaryname=new dictionary();。當然它的增加、刪除、遍歷方法也和hastable相同。
泛型的主要應用之一就是泛型集合,它具備一般集合沒有的特性,它型別安全,無須裝箱拆箱,只要掌握了集合的操作方法,操作泛型集合的方法也就變得異常簡單了。
C 集合 泛型集合
非泛型集合的類和介面位於system.collections命名空間。泛型集合的類和介面位於system.collections.generic命名空間。普通集合 arraylist 值 有序不唯一 hashtable key 必須唯一 可為空 不能為null value 可重複 能為空和null ...
C 泛型 泛型集合Dictionary
在system.collections.generic命名空間中,與arraylist相對應的泛型集合是list,與hashtable相對應的泛型集合是dictionary,其儲存資料的方式與雜湊表相似,通過鍵 值來儲存元素,並具有泛型的全部特徵,編譯時檢查型別約束,讀取時無須型別轉換。本儲存的例子...
C 泛型集合
集合是oop中的乙個重要概念,c 中對集合的全面支援更是該語言的精華之一。為什麼要用泛型集合?在c 2.0之前,主要可以通過兩種方式實現集合 a.使用arraylist 直接將物件放入arraylist,操作直觀,但由於集合中的項是object型別,因此每次使用都必須進行繁瑣的型別轉換。b.使用自定...