【发布时间】:2009-03-12 15:59:34
【问题描述】:
我有使用数组的代码,不幸的是,我无法更改它们的类型。如果可以的话,我会使用 ArrayLists 或类似的东西来做我需要做的事情,但我不能。基本上,我正在寻找从静态数组中添加和删除对象的最佳方法。为了即时向数组中添加一个项目,我必须创建一个比旧数组大一个元素的新数组,将旧数组中的项目复制到新数组中,然后添加新项目。像这样...
public partial class dataStruct
{
private myObject[] myStaticArray;
};
private void AddItemToMyArray()
{
int oldLength = dataStruct.myStaticArray.Length;
myObject[] newMyObjectArray = new myObject[oldLength + 1];
for (int i = 0; i < oldLength; i++)
newMyObjectArray [i] = dataStruct.myStaticArray[i];
dataStruct.myStaticArray[oldLength] = new myObject();
dataStruct.myStaticArray = newMyObjectArray;
}
为了删除一个项目,我做同样的事情,只是我创建了一个小一个项目的新数组。这感觉真的效率低下。任何人都可以提出更好的方法,如果有的话?还是有其他想法?
提前感谢您的帮助!
【问题讨论】:
-
从 .NET 2.0 开始,您可以使用 List
代替数组。