c# - 数组越大,C# 数组调整大小所需的时间越长吗?

标签 c# arrays

在我的应用程序中,我每帧执行一次 System.Array.Resize。最初我将我的数组设置为最大可能大小,然后将它们调整为更小的大小。在某些情况下,它可能小很多,在其他情况下,它可能只是小一点。在我看来,要调整大小的元素越多,所需的时间就越长。也许我的观察是错误的,这就是我在这里问的原因。

最佳答案

应该可以,调整大小涉及将新内存分配到您想要的大小并将旧数组复制到新数组中。数组越大,复制的越多。

From MSDN :

This method allocates a new array with the specified size, copies elements from the old array to the new one, and then replaces the old array with the new one.

在不太了解代码的情况下,尝试使用 List<T>要管理您需要执行的列表和调整大小以及需要将其提供给 Unity 时,请调用 list.ToArray(); .

这仍然会创建数组并复制它,但每帧只复制一次。

关于c# - 数组越大,C# 数组调整大小所需的时间越长吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11103899/

相关文章:

javascript - Angularfire $firebaseArray 扩展动态计数\总和

php - 模型返回空值

C#命名空间命名约定

c# - 亚马逊产品 API - 在 C# 中是否有任何有效的、最新的示例?

c# - Null Check 运算符不适用于 WebOperationContext.Current?.IncomingRequest

java - 多维数组可以在java中如何处理它们中的两种不同类型

java - 我试图从 3 个字符串数组中随机选择元素?

c - 使用数组的堆栈实现

c# - 如何在 asp.net 中索引 .doc 和 .pdf 文件

c# - 如何使用 mage.exe 为 VSTO 重新分配 list ?