要使用dictionary集合,需要匯入c#泛型命名空間
system.collections.generic(程式集:mscorlib)
dictionary的描述
1、從一組鍵(key)到一組值(value)的對映,每乙個新增項都是由乙個值及其相關連的鍵組成
2、任何鍵都必須是唯一的
3、鍵不能為空引用null(vb中的nothing),若值為引用型別,則可以為空值
4、key和value可以是任何型別(string,int,custom class 等)
dictionary常用用法:以 key 的型別為 int , value的型別為string 為例
1、建立及初始化
複製**
**如下:
dictionarymydictionary=newdictionary();
2、新增元素
複製**
**如下:
mydictionary.add(1,"c#");
mydictionary.add(2,"c++");
mydictionary.add(3,"asp.net");
mydictionary.add(4,"mvc");
3、通過key查詢元素
複製**
**如下:
if(mydictionary.containskey(1))
,value:","1", mydictionary[1]);
}4、通過keyvaluepair遍歷元素
複製**
**如下:
foreach(keyvaluepairkvp in mydictionary)
, value = ",kvp.key, kvp.value);
}5、僅遍歷鍵 keys 屬性
複製**
**如下:
dictionary.keycollection keycol=mydictionary.keys;
foreach(intkeyinkeycol)
", key);
}6、僅遍歷值 valus屬性
複製**
**如下:
dictionary.valuecollection valuecol=mydictionary.values;
foreach(stringvalueinvaluecol)
", value);
}7、通過remove方法移除指定的鍵值
複製**
**如下:
mydictionary.remove(1);
if(mydictionary.containskey(1))
,value:","1", mydictionary[1]);
}else
其它常見屬性和方法的說明:
comparer:
獲取用於確定字典中的鍵是否相等的 iequalitycomparer。
count:
獲取包含在 dictionary中的鍵/值對的數目。
item:
獲取或設定與指定的鍵相關聯的值。
keys:
獲取包含 dictionary中的鍵的集合。
values:
獲取包含 dictionary中的值的集合。
add:
將指定的鍵和值新增到字典中。
clear:
從 dictionary中移除所有的鍵和值。
containskey:
確定 dictionary是否包含指定的鍵。
containsvalue:
確定 dictionary是否包含特定值。
getenumerator:
返回迴圈訪問 dictionary的列舉數。
gettype:
獲取當前例項的 type。 (從 object 繼承。)
remove:
從 dictionary中移除所指定的鍵的值。
tostring:
返回表示當前 object的 string。 (從 object 繼承。)
trygetvalue:
獲取與指定的鍵相關聯的值。
C 泛型 泛型集合Dictionary
在system.collections.generic命名空間中,與arraylist相對應的泛型集合是list,與hashtable相對應的泛型集合是dictionary,其儲存資料的方式與雜湊表相似,通過鍵 值來儲存元素,並具有泛型的全部特徵,編譯時檢查型別約束,讀取時無須型別轉換。本儲存的例子...
c 泛型集合Dictionary
泛型最常見的用途是泛型集合,命名空間system.collections.generic 中包含了一些基於泛型的集合類,使用泛型集合類可以提供更高的型別安全性,還有更高的效能,避免了非泛型集合的重複的裝箱和拆箱。很多非泛型集合類都有對應的泛型集合類,我覺得最好還是養成用泛型集合類的好習慣,他不但效能...
C 泛型Dictionary集合
1 要使用dictionary集合,需要匯入c 泛型命名空間 system.collections.generic 程式集 mscorlib 2 描述 1 從一組鍵 key 到一組值 value 的對映,每乙個新增項都是由乙個值及其相關連的鍵組成 2 任何鍵都必須是唯一的 3 鍵不能為空引用null...