當前位置:成語大全網 - 新華字典 - 重溫 C# 字典Dictionary類

重溫 C# 字典Dictionary類

C# 中使用字典Dictionary來存儲鍵值對的數據。創建字典時需要定義鍵值對的類型,再添加字典元素時需要符合定義的鍵值對類型。

要使用Dictionary集合,需要導入C#泛型命名空間

System.Collections.Generic(程序集:mscorlib)

Dictionary的特性:

1、從壹組鍵(Key)到壹組值(Value)的映射,每壹個添加項都是由壹個值及其相關連的鍵組成

2、任何鍵都必須是唯壹的

3、鍵不能為空引用null(VB中的Nothing),若值為引用類型,則可以為空值

4、Key和Value可以是任何類型

例如,創建壹個鍵值都是字符串類型的字典

Dictionary<string, string> EmployeeList = new Dictionary<string, string>();

使用Add 方法添加元素

EmployeeList.Add("Mahesh Chand", "Programmer");

EmployeeList.Add("Praveen Kumar", "Project Manager");

EmployeeList.Add("Raj Kumar", "Architect");

EmployeeList.Add("Nipun Tomar", "Asst. Project Manager");

EmployeeList.Add("Dinesh Beniwal", "Manager");

類似可以創建其它類型的字典,通過Add方法添加元素。

Dictionary<string, int> AuthorList = new Dictionary<string, int>();

AuthorList.Add("Mahesh Chand", 35);

AuthorList.Add("Mike Gold", 25);

AuthorList.Add("Praveen Kumar", 29);

AuthorList.Add("Raj Beniwal", 21);

AuthorList.Add("Dinesh Beniwal", 84);

Dictionary<string, float> PriceList = new Dictionary<string, float>(3);

PriceList.Add("Tea", 3.25f);

PriceList.Add("Juice", 2.76f);

PriceList.Add("Milk", 1.15f);

使用KeyValuePair 檢索鍵和值

foreach (KeyValuePair<string,string> kv in EmployeeList)

{

?Console.WriteLine($"鍵:{kv.Key} -> 值: {kv.Value}");

?}

檢索鍵:

foreach (var k in EmployeeList.Keys)

{

Console.WriteLine(k);

?}

檢索值:

foreach (var v in EmployeeList.Values)

?{

? Console.WriteLine(v);

?}

Count, Keys and Values

Keys,Values 分別是鍵集合和值集合

Count屬性 元素(鍵值對)的個數

Console.WriteLine(EmployeeList.Count); 輸出值 5

//修改前

Console.WriteLine(EmployeeList["Mahesh Chand"]);

EmployeeList["Mahesh Chand"] = "ModfiyValue";

//修改後

Console.WriteLine(EmployeeList["Mahesh Chand"]);

字典名稱["鍵名"] = 要修改的值

add, remove, find(ContainsKey,ContainsValue)?

Add方法用於添加元素,上面已經演示過。

Remove 用於刪除元素

EmployeeList.Remove("Mahesh Chand");

查詢鍵是否存在,值是否存在字典中

if(EmployeeList.ContainsKey("Mahesh Chand"))

{

? Console.WriteLine("包含鍵 Mahesh Chand");

?}

if (!EmployeeList.ContainsValue("CEO"))

{

? Console.WriteLine("CEO NOT found");

}