我需要将List
复制为array
。我可以复制列表然后将其转换为array
,但似乎这有一个不必要的步骤。将它直接复制到array
对我来说更有意义,但我不知道如何。这是带有不必要步骤的版本:
List<T> originalList = GetListOfElements<T>();
T[] copyArray = new List<T>(originalList).ToArray();
是否可以绕过创建新List
的步骤?
答案 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();