ICollection <string>到string [] </string>

时间:2008-11-30 11:34:02

标签: c# generics collections .net-2.0

我有ICollection<string>类型的对象。转换为string[]的最佳方式是什么?

如何在.NET 2中完成? 如何在C#的更高版本中更清洁,也许在C#3中使用LINQ?

3 个答案:

答案 0 :(得分:30)

您可以使用以下代码段将其转换为普通数组:

string[] array = new string[collection.Count];
collection.CopyTo(array, 0);

那应该做的工作:)

答案 1 :(得分:8)

如果您使用的是C#3.0和.Net framework 3.5,您应该能够:

ICollection<string> col = new List<string>() { "a","b"};
string[] colArr = col.ToArray();

当然,你必须“使用System.Linq;”在文件顶部

答案 2 :(得分:6)

ICollection<String>的(平凡)情况下,使用ToArray:

String[] GetArray(ICollection<String> mycoll)
{
    return mycoll.ToArray<String>();
}

编辑:使用.Net 2.0,您可以使用额外的List<String>

返回数组
String[] GetArray(ICollection<String> mycoll)
{
    List<String> result = new List<String>(mycoll);
    return result.ToArray();
}