[英]How to get Key, Value from dictionary when value is a list
所以基本上我有一個有鍵的字典,然后值是一個包含字符串的列表。
{"key1", list1}
list1 = [Value 1 Value2, Value3]
而且我有多個鍵,因此具有列表的值。 我想顯示它以便顯示
Key1: Value1
Key1: Value2
Key1: Value3
因此,我希望能夠顯示Key和值。 但是我不確定該怎么做。
foreach (var value in FoodCategory_Item.Values)
{
foreach(var item in value)
{
Console.WriteLine("Value of the Dictionary Item is: {0}", item);
}
}
到目前為止,這就是我要迭代的值,我知道該怎么做,但是我不確定如何在其中也獲取關鍵值,因為它將首先迭代所有值,然后再迭代遍歷關鍵項。
這應該工作:
foreach (KeyValuePair<string, List<string>> kvp in FoodCategory_Item)
{
foreach (string item in kvp.Value)
{
Console.WriteLine ("{0}: {1}", kvp.Key, item);
}
}
Dictionary
實現IEnumerable<KeyValuePair<TKey, TValue>>
,因此您可以直接對其進行迭代。
如果您查看Dictionary的文檔 ,您會注意到它實現了接口
IEnumerable<KeyValuePair<TKey, TValue>>
因此,您可以執行以下操作:
foreach(KeyValuePair<TKeyType, TValueType> kvp in dictionary)
{
foreach(var item in kvp.Value)
{
Console.WriteLine("{0}: {1}", kvp.Key, item);
}
}
在此處給出的示例代碼中,將TKeyType替換為字典中使用的鍵的實際類型,並將TValueType替換為用於字典值的列表類型。
Dictionary
是可枚舉的,因此需要迭代:
foreach (var kvp in FoodCategory_Item)
{
foreach(var item in kvp.Value)
{
Console.WriteLine("Value of the Dictionary Key {0} is: {1}", kvp.Key ,item);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.