最近在循环中给字典中的列表进行添加操作时,发现直接通过一个列表添加是不可行的,需要创建新的列表才可以,还是比较好理解的,如下所示:
Dictionary<string, List<string>> myDic = new Dictionary<string, List<string>>(); myDic.Add(newKey, new List<string>(existingList));
示例如下:
Dictionary<string, List<String>> map = new Dictionary<string, List<String>>(); // create list one and store values List<string> valSetOne = new List<string>(); valSetOne.Add("Apple"); valSetOne.Add("Aeroplane"); // create list two and store values List<String> valSetTwo = new List<String>(); valSetTwo.Add("Bat"); valSetTwo.Add("Banana"); // create list three and store values List<String> valSetThree = new List<String>(); valSetThree.Add("Cat"); valSetThree.Add("Car"); // add values into map map.Add("A", valSetOne); map.Add("B", valSetTwo); map.Add("C", valSetThree); // iterate and display values foreach(KeyValuePair<string, List<string>> kvp in map){ foreach(string value in kvp.Value){ Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, value); }
参考博客:
https://stackoverflow.com/questions/17887407/dictionary-with-list-of-strings-as-value
https://gist.github.com/ishu3101/4a5846860fc268d0fc7323171e2d92ff
https://stackoverflow.com/questions/14991688/adding-items-to-a-list-in-a-dictionary/14991876
https://stackoverflow.com/questions/17108399/dictionaryint-liststring