良好的实践?重新定义数组以更改其大小

本文关键字:数组 定义 新定义 | 更新日期: 2023-09-27 18:10:23

我在Unity中工作,但这是一个更一般的编程实践问题。

dataType[] array = new dataType[x];
//Further down
dataType[] newArray = new dataType[array.Length + 1];
for (int i=0;i<array.Length;i++){
    newArray[i] = array[i];
}

这被认为是不好的做法吗?它是否比仅仅使用数组列表更有效率?我只在一层的开始执行这个操作,然后就不再执行了,所以仅仅使用数组列表值得吗?

良好的实践?重新定义数组以更改其大小

当您不知道数组的确切大小时,应该使用动态数据结构。如果与ArrayList比较,List是一个更好的选择。ArrayList只能在对象上工作,而List<>使用泛型(它也可以在特定类型或对象上工作)。这将帮助您创建高性能和可维护的代码。

是的,这是不好的做法。如果你希望你的数组大小改变,那么使用列表而不是数组。在索引方面,List的工作方式与数组类似。使用add()向List中添加新项。你甚至可以在列表上调用ToArray()来获得一个数组。

http://msdn.microsoft.com/en-us/library/6sh2ey19 (v = vs.110) . aspx

如果你遇到一种情况,你不能使用列表,需要增加你的数组,使用Array. resize()如下所示。

int[] array = new int[5];
Console.WriteLine(array.Length);
Array.Resize<int>(ref array, 20);
Console.WriteLine(array.Length);