我对这个天真的问题感到抱歉.我有以下内容: public Array Values{ get; set;}public Listobject CategoriesToList(){ Listobject vals = new Listobject(); vals.AddRange(this.Values); return vals;} 但这不起作用,因为我无法
public Array Values { get; set; } public List<object> CategoriesToList() { List<object> vals = new List<object>(); vals.AddRange(this.Values); return vals; }
但这不起作用,因为我无法输入数组.有没有办法轻松修复上面的代码,或者,通常,将System.Collections.Array转换为System.Collections.Generic.List?
确保您使用的是System.Linq;然后将您的行更改为:vals.AddRange(this.Values.Cast<对象>());
编辑:您还可以迭代数组并单独添加每个项目.
再次编辑:另一个选项是简单地将数组转换为object []并使用ToList()函数或将其传递给List< object>构造函数:
((对象[])this.Values).ToList();
要么
new List< object>((object [])this.Values)