日期:2014-05-20  浏览次数:20961 次

C#中泛型容器和数组之间如何转换?
比如
IList <string> 如何转化成string[]????

------解决方案--------------------
这样就行了:
List <string> list = new List <string> ();
string[] array = list.ToArray();
------解决方案--------------------
或先定义一个string[],然后用CopyTo方法也可以实现
------解决方案--------------------
名称 说明
List.CopyTo (T[]) 将整个 List 复制到兼容的一维数组中,从目标数组的开头开始放置。
由 .NET Compact Framework 支持。


------解决方案--------------------

这样就行了:
List <string> list = new List <string> ();
string[] array = list.ToArray();

这个是最简单的,但是要注意类型,
------解决方案--------------------
ls: 你的办法:返回一个数组,它包含 List 的元素的副本。如果用户强制销毁list ,后面的代码就会出问题,还是CopyTo可靠:

List <string> list = new List <string> ();
string[] array = new string[list.Count];
list.CopyTo(array);