C 基礎 hashtable,泛型和字典集合

2022-06-21 11:06:12 字數 2046 閱讀 8555

hashtable 的儲存方式

使用方法:

1.引入包含hashtable的命名空間

using system.collections;   // 引入hash所在的命名空間
2.往hash表裡面新增資料

hashtable hash = new hashtable();

// 往hash裡面新增資料

hash.add(1, "hello");

hash.add(2, "world");

hash.add(3, "c#");

3.訪問hash表的方法

1.鍵對於值

2.遍歷鍵的集合

3.使用遍歷器

// 訪問hash資料的3種方法:

// 訪問hash資料,採用鍵的方式

console.writeline(hash[1]);

// 可以採用遍歷它的鍵集合訪問

var skeys = hash.keys; // hash的鍵的集合

foreach(object o in skeys)

,值:", o, hash[o]);

}// 遍歷器訪問

var ie = hash.getenumerator(); // 獲取遍歷器

while (ie.movenext()) // 依次遍歷每一行資料

,值:", ie.key,ie.value);

}

arraylist arrlist = new arraylist();

arrlist.add(1);

arrlist.add("hello");

arrlist.add(datetime.now);

在使用arraylist的時候,無法保證型別的一致性,泛型的出現就是解決這個問題,泛型規定了資料型別

1.引入泛型的命名空間

using system.collections.generic;   // 泛型使用的命名空間
2.泛型使用

// 泛型規定了資料型別

listlist = new list();

list.add(1);

list.add(2);

3.泛型的遍歷

foreach遍歷

// 泛型的遍歷

foreach(int i in list)

for語句遍歷
// for語句遍歷

for(int i = 0; i < list.count; i++)

,泛型的資料:", i, list[i]);

}

與hashtable差不多,但是型別是一致的

// 字典集合的儲存

dictionarydic = new dictionary();

dic.add("1001", "jake");

dic.add("1002", "max");

dic.add("1003", "kate");

// 採用類似與訪問hash方式訪問

console.writeline(dic["1001"]);

// 獲取鍵遍歷訪問

var keys = dic.keys;

foreach(string str in keys)

,值:",str,dic[str]);

}// 採用遍歷器去訪問

var ie = dic.getenumerator();

while (ie.movenext())

,值:", ie.current.key, ie.current.value);

}

C 泛型基礎

泛型的基本思想 泛型程式設計 generic programming 是一種語言機制,通過它可以實現乙個標準的容器庫。像類一樣,泛型也是一種抽象資料型別,但是泛型不屬於物件導向,它是物件導向的補充和發展。在物件導向程式設計中,當演算法與資料型別有關時,物件導向在對演算法的抽象描述方面存在一些缺陷。比...

基礎 C 泛型

msdn 章節內容 ms help 泛型是 2.0 版 c 語言和公共語言執行庫 clr 中的乙個新功能。泛型將型別引數的概念引入 net framework,型別引數使得設計如下類和方法成為可能 這些類和方法將乙個或多個型別的指定推遲到客戶端 宣告並例項化該類或方法的時候。例如,通過使用泛型型別引...

C 泛型基礎

泛型的基本思想 泛型程式設計 generic programming 是一種語言機制,通過它可以實現乙個標準的容器庫。像類一樣,泛型也是一種抽象資料型別,但是泛型不屬於物件導向,它是物件導向的補充和發展。在物件導向程式設計中,當演算法與資料型別有關時,物件導向在對演算法的抽象描述方面存在一些缺陷。比...