2013-10-28 69 views
0

所以我有,有一個解釋,看起來像下面在字典檢索數值在C#

Dictionary<int, List<object>> records = new Dictionary<int, List<object>>(); 

現在,詞典,填充BOT對象和INT的列表中選擇一個代碼。

我的問題是對象列表。

我需要檢索這些值,我該怎麼做?

請注意,一切都已填充我只需要從對象列表中檢索值並將其轉換爲數組。

+0

你想所有列表轉換字典中的一個陣列,或每個列表轉換成自己的相應的陣列? – Tim

回答

1

你可以這樣做

foreach (var item in records) 
{ 
    // records will have key & value 
    var arr = item.Value.ToArray(); 
} 



     foreach (var item in records) 
     { 
      // records will have key & value 
      var key = item.key; 
      var arr = item[key].ToArray(); 
     } 
+0

'var'將是一個'KeyValuePair',所以你可以從那裏獲得'Key'和'Value'屬性。 '價值'將是'列表'。 – gunr2171

+0

@ gunr2171 - 如果你指的是我現在刪除的評論,是的。在格式化之前,我錯過了代碼中的'.Value'。 – Tim

1
List<object> list = records[0]; 

只需通過int鍵引用即可。字典是一個關鍵的數值數據結構,所以如果你需要順序訪問你的記錄,我會考慮一個數組/列表。 但是,可以像@ praga2050所描述的那樣遍歷字典。

+0

您可能希望將'var'更改爲'列表',只是爲了使事情更清楚。 – gunr2171

+0

有沒有辦法在不引用鍵的情況下獲取值? – GhostDZ9

+0

@ user768241,字典僅用於獲取像這樣的值。你還想怎麼做? – gunr2171