在C#中,KeyValuePair是一種用于存儲鍵值對的數據結構,而Dictionary則是使用KeyValuePair來存儲數據的泛型集合。
要使用KeyValuePair,首先需要聲明和初始化一個KeyValuePair對象,可以使用構造函數或者直接賦值的方式進行初始化。下面是兩種常見的初始化方式:
KeyValuePair<string, int> kvp1 = new KeyValuePair<string, int>("key1", 1);
KeyValuePair<string, int> kvp2 = new KeyValuePair<string, int> { Key = "key2", Value = 2 };
在這個例子中,我們聲明了兩個KeyValuePair對象,一個使用構造函數初始化,另一個使用屬性賦值的方式初始化。它們分別存儲了一個字符串鍵和一個整數值。
接下來,可以使用Key和Value屬性來訪問KeyValuePair對象中的鍵和值:
string key = kvp1.Key;
int value = kvp1.Value;
Console.WriteLine($"Key: {key}, Value: {value}");
在這個例子中,我們分別將鍵和值賦值給了兩個變量,并將它們打印出來。
而Dictionary是一個使用KeyValuePair作為元素的泛型集合,它可以存儲多個鍵值對。下面是一個使用Dictionary的例子:
Dictionary<string, int> dict = new Dictionary<string, int>();
dict.Add("key1", 1);
dict["key2"] = 2;
foreach (KeyValuePair<string, int> kvp in dict)
{
Console.WriteLine($"Key: {kvp.Key}, Value: {kvp.Value}");
}
在這個例子中,我們首先創建了一個空的Dictionary對象。然后,通過Add方法和索引器的方式向字典中添加鍵值對。最后,使用foreach循環遍歷字典中的所有鍵值對,并將它們打印出來。
總結起來,KeyValuePair用于存儲單個鍵值對,而Dictionary則是使用KeyValuePair來存儲多個鍵值對的集合。