我有ICollection<string>
类型的对象。转换为string[]
的最佳方式是什么?
如何在.NET 2中完成? 如何在C#的更高版本中更清洁,也许在C#3中使用LINQ?
答案 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();
}