C# 如何从IList接口获取数组

C# 如何从IList接口获取数组,c#,arrays,collections,C#,Arrays,Collections,在C#中,不使用泛型就可以从System.Collections.IList接口获取数组吗 编辑:我需要一些方法将集合转换为数组。我的收藏已分配给IList。这样做可能吗?我不知道我的收藏的真正实现,所以我不能这样做 int[]arr=(ArrayList)list.ToArray() 您可以使用以下方法: IList list=新列表(新[]{“一”、“二”、“三”}); string[]数组=新字符串[list.Count]; list.CopyTo(数组,0); 不太清楚您想要实现什么目标

在C#中,不使用泛型就可以从System.Collections.IList接口获取数组吗

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

您可以使用以下方法:

IList list=新列表(新[]{“一”、“二”、“三”});
string[]数组=新字符串[list.Count];
list.CopyTo(数组,0);

不太清楚您想要实现什么目标。请更具体一些。CopyTo()@Jon Skeet请看我的edits@Neil:是的,源代码列表是通用的,但它仅通过非通用的
IList
界面使用。为了强调Fredrik的观点,您几乎可以忽略第一行
=
右侧的所有内容;这里重要的是“我们有一个名为
列表的
IList
IList list = new List<string>(new[] { "one", "two", "three" });
string[] array = new string[list.Count];
list.CopyTo(array, 0);