【问题标题】:How to obtain array from IList inteface如何从 IList 接口获取数组
【发布时间】:2012-01-16 12:03:25
【问题描述】:

在 C# 中是否可以在不使用泛型的情况下从 System.Collections.IList 接口获取数组?

编辑:我需要一些将集合转换为数组的方法。我的收藏已分配给 IList。有可能这样做吗?我不知道我的收藏的真正实现,所以我不能做例如像这样 int[] arr = (ArrayList)list.ToArray();

【问题讨论】:

标签: c# arrays collections


【解决方案1】:

你可以使用CopyTo方法:

IList list = new List<string>(new[] { "one", "two", "three" });
string[] array = new string[list.Count];
list.CopyTo(array, 0);

【讨论】:

  • @Neil:是的,源列表是通用的,但只能通过非通用的IList 接口使用。
  • 为了强调 Fredrik 的观点 - 您几乎可以忽略第一行中 = 右侧的所有内容;这里重要的是“我们有一个名为 listIList
猜你喜欢
  • 2021-03-15
  • 2010-11-13
  • 1970-01-01
  • 1970-01-01
  • 2015-05-08
  • 1970-01-01
  • 1970-01-01
  • 2011-09-08
相关资源
最近更新 更多