2015-04-08 38 views
-1

在字典中,我想爲給定的鍵添加數字列表。但我無法做到。在字典內的列表中添加新元素

for(int i = 0 ; i < size ; i++){ 
      string input = Console.ReadLine(); 
      string[] inputList = input.Split(' '); 
      count[Convert.ToInt32(inputList[0])]++; 
      if(!map.ContainsKey(Convert.ToInt32(inputList[0]))){ 
       map.Add(Convert.ToInt32(inputList[0]),new List<string>()); 
       map_index.Add(Convert.ToInt32(inputList[0]),new List<int>()); 
      } 
+0

你到底在做什麼?錯誤,異常還是意外結果? – Coder1409

+0

您是否檢查map_index是否有鑰匙? – Minh

+4

這沒有任何意義 - 增加一些細節。什麼是「地圖」?什麼是map_index?什麼是「計數」?等等... – smremde

回答

3

這個問題有點不清楚。我對你的問題的理解如下:你有一本字典,字典的值是一個列表,並且你無法將一個項目添加到該列表。既然你沒有解釋我使用更多通用名稱的符號,只是給你一個想法是什麼必須做:

Dictionary<int, List<string>> myDict = new Dictionary<int, List<string>>(); 
if (myDict.ContainsKey(myKey)) 
{ 
    myDict[myKey].Add(myVal); 
} 
else 
{ 
    myDict[myKey] = new List<string> { myVal }; 
} 

如果該鍵不在字典您共同創建一個條目與列出並用新值初始化列表。如果密鑰在那裏,您只需訪問該列表(使用myDict[myKey])並將新值添加到列表中。由於列表總是爲新密鑰創建的,所以在爲現有密鑰添加值時不必擔心它未初始化。

+0

感謝隊友,這幫了很大忙。最後能夠解決它。乾杯。 :) –