加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 要列表的数组 – 无法使AddRange(IEnumerable)工作

发布时间:2020-12-16 01:30:51 所属栏目:百科 来源:网络整理
导读:我对这个天真的问题感到抱歉.我有以下内容: 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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读