如何复制List然后将其转换为数组?

时间:2016-01-13 01:58:29

标签: c# arrays list

我需要将List复制为array。我可以复制列表然后将其转换为array,但似乎这有一个不必要的步骤。将它直接复制到array对我来说更有意义,但我不知道如何。这是带有不必要步骤的版本:

List<T> originalList = GetListOfElements<T>();
T[] copyArray = new List<T>(originalList).ToArray();

是否可以绕过创建新List的步骤?

2 个答案:

答案 0 :(得分:5)

幸运的是,list ToArray最符合您的需求,因为it will return copy of the elements而不是相同的元素(阅读链接)。注意:请注意,根据T的内容,object本身可能不一定是copy(例如List<int>List<MyClass>不同)。

简单地说:

T[] array = GetListOfElements<T>().ToArray();

如果您想要复制元素,那将会更加棘手。

答案 1 :(得分:3)

我不明白。以下不起作用吗?

 T[] arr = GetListOfElements<T>().ToArray();