【发布时间】:2012-03-19 09:41:58
【问题描述】:
我想将 IList 转换为数组: 请看我的代码:
IList list = new ArrayList();
list.Add(1);
Array array = new Array[list.Count];
list.CopyTo(array, 0);
为什么我得到 System.InvalidCastException : 源数组中的至少一个元素无法转换为目标数组类型?假设我不能使用 ArrayList 作为 list 变量的类型,如何解决这个问题?
更新 1:我使用 .NET 1.1。所以我不能使用泛型、Linq 等。我只想接收最常见情况的结果 - 以整数为例,我需要此代码适用于所有类型,所以我在这里使用 Array (也许我对使用 Array 有误,但我需要,再一次,常见的情况)。
【问题讨论】:
-
ArrayList 已过时。请改用
List<T>。 -
您使用的是 .NET 2.0 吗?如果你不是,那么使用泛型集合这一切都会变得简单得多。
-
什么版本的 .NET? System.Linq 增加了一个很棒的功能
ToArray()