如何在C#3.5中将Dictionary <string,object =“”>转换为ArrayList

时间:2016-08-09 03:46:51

标签: c# dictionary arraylist

我从Javascript传递Dictionary参数并尝试将其转换为数组列表。

示例:

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

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

这是一个简短的例子,我添加了检查“_params”是否包含“Assignments”或“balance”然后继续前进的条件。

  

但是它返回一个无法转换类型对象的错误   'System.Object []'输入'System.Collections.ArrayList'。

以下是此词典对象的理想数据的屏幕截图。

enter image description here

2 个答案:

答案 0 :(得分:2)

您可以迭代Dictionary并使用.Add的{​​{1}}方法将对象插入到数组列表中。或者使用Linq尝试ArrayList方法。以下代码将帮助您:

.AddRange

请记住,您可以将这两种方法用于ArrayList类的实例化对象,因此不要忘记使用实例初始化ArrayList ArrayEx = new ArrayList(); foreach (var item in _params) { ArrayEx.Add(item.Value); } // or like this ArrayEx.AddRange(_params.Select(x=>x.Value).ToList());

答案 1 :(得分:0)

.Net 2.0

ArrayList ArrayEx = new ArrayList();

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