最近在循环中给字典中的列表进行添加操作时,发现直接通过一个列表添加是不可行的,需要创建新的列表才可以,还是比较好理解的,如下所示:
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