2016-08-09 84 views
0

我從Javascript傳遞Dictionary參數並試圖將其轉換爲數組列表。如何在C#3.5中將Dictionary <String,Object>轉換爲ArrayList

實施例:

public void AssignEmployees(Dictionary<String, Object> _params) 
{ 
    ArrayList ArrayEx= null; 
    ArrayEx= (ArrayList)_params["Assignments"]; 

    ArrayList ArrayEx1= null; 
    ArrayEx1= (ArrayList)_params["balance"]; 
} 

這是一個簡單的例子,我已經添加了檢查,如果「_params」包含「分配」或「平衡」的條件,然後向前移動。

然而它返回無法轉換 類型的對象的錯誤「System.Object的[]」爲類型「System.Collections.ArrayList」。

下面是該字典對象的理想數據的屏幕截圖。

enter image description here

回答

2

可以遍歷字典並使用ArrayList.Add方法將該對象插入到陣列列表。或者試試用Linq的.AddRange方法。下面的代碼將幫助您:

ArrayList ArrayEx = new ArrayList(); 
foreach (var item in _params) 
{ 
    ArrayEx.Add(item.Value); 
} 

// or like this 

ArrayEx.AddRange(_params.Select(x=>x.Value).ToList()); 

請記住,您可以使用兩種方法來ArrayList類的一個實例化的對象,所以不要忘了一個實例初始化ArrayEx

+0

感謝@取消幸運,成功了! –

+0

@RaviVyas:很高興聽到,很高興幫助你 –

0

NET 2.0

ArrayList ArrayEx = new ArrayList();

foreach (System.Collections.Generic.KeyValuePair<int, object> KeyVal in objdictionary) { ArrayEx.Add((object)KeyVal.Value); }

相關問題