我对C#很陌生,但在ActionScript 3方面有扎实的基础。
在AS3中,你可以这样定义一个数组:
var array:Array = [];
然后通过push()
向该数组添加无限数量的项:
array.push(1);
我发现在C#中,你需要为一个数组定义一个永久的长度(我想是这样的),例如:
string[] array = {"this","has","a","length","of","six"};
或者:
string[] array = new string[6];
如果我尝试向该数组添加新项,而这些项的位置超出了该数组的长度,则会出现错误:
array[6] = "failure";
我发现在数组中自由添加/删除项目与现在必须定义最大长度之间存在困难。
当一个数组可能包含0到10000个实体时,在游戏环境中应该如何处理这个问题,我不是很确定。
- 我是否应该将数组长度设置得非常长,以适应所有实际实体数?
- 是否有一种不同的方式来存储我的实体,应该在C#中使用,但我不知道?
- 我是否需要编写自己的类,重新声明具有新长度的数组,并将旧数组中的对象复制到新数组中,留下1个空闲插槽?
任何建议都将是有帮助的!