簡體   English   中英

當值是列表時如何從字典中獲取鍵,值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM