数组非常快,但另一方面你不能向数组添加任何东西列表非常方便你可以添加新项目而不用担心但它们要慢得多
我首先使用列表添加我的项目,然后通过 MyList.ToArray()
将其转换为数组,然后处理数组中的数据。现在我想知道这在速度方面是否真的有效?或者我只是通过转换为数组浪费了更多时间?
最佳答案
MSDN 说 ToArray 是 O(N),其中 N 是计数:https://msdn.microsoft.com/en-us/library/x303t819%28v=vs.110%29.aspx
The elements are copied using Array.Copy, which is an O(n) operation, where n is Count.
This method is an O(n) operation, where n is Count.
因此,您基本上要处理列表两次:一次用于 ToArray 调用,另一次在下一个循环中实际处理列表。在大多数情况下,删除 ToArray 可能比进行转换更高效。
关于c# - 创建一个列表,然后将其转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29386398/