我从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'。
以下是此词典对象的理想数据的屏幕截图。
答案 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);
}