将list<int>转换为int[]

12

是否有内置的方法可以做到这一点,或者我总是需要手动创建一个新的数组,然后用foreach循环填充它?


为什么?我能想到唯一的有效理由是您需要使用需要数组参数的API方法。如果这是您的问题,那么就这样做,但否则就将其保留为列表。 - Joel Coehoorn
那正是原因的所在 :) - kaivalya
2个回答

51
list.ToArray()

哈哈,评论必须有最少的字符数限制,但是回答没有这个限制吗? - Thomas Levesque
我认为回答也有最低限度,但这个回答已经超过了最低限度。 - Mehrdad Afshari
哇哦...简短而简单。 - Asif Ghanchi

11
List<int> list = ...
...
int[] array = list.ToArray();

你也可以使用CopyTo方法:

int[] array = new int[list.Count];
list.CopyTo(array);

2
在.NET 2.0中,List<T>具有ToArray方法。List<T>.ToArray不会调用Enumerable.ToArray扩展方法。 - Mehrdad Afshari
好的观点...我确实在考虑扩展方法。我会修复它。 - Thomas Levesque

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接