我是C#的新手,但在ActionScript 3中有很强的背景知识.
在AS3中,您可以像这样定义一个数组:
var array:Array = [];
Run Code Online (Sandbox Code Playgroud)
然后通过push()以下方式向该阵列添加无限项:
array.push(1);
Run Code Online (Sandbox Code Playgroud)
我在C#中注意到你需要为数组定义一个永久(我认为)的长度,例如:
string[] array = {"this","has","a","length","of","six"};
Run Code Online (Sandbox Code Playgroud)
要么:
string[] array = new string[6];
Run Code Online (Sandbox Code Playgroud)
如果我尝试向数组添加新项目将超出此数组的长度,我将收到一个错误:
array[6] = "failure";
Run Code Online (Sandbox Code Playgroud)
我发现很难从能够自由地添加/删除数组中的项目,到现在必须定义最大长度.
当一个数组可以包含0到10000个实体之间的任何地方时,我不确定如何在游戏环境中接近它.
任何的意见都将会有帮助!
你发现,阵列在C#中是固定大小的; 调整数组大小会引用指定大小的新数组实例,并将数组中的项复制到新引用的实例中.
您在.NET中寻找的是通用集合,例如List<T>,T某些类型的泛型类型参数.在您突出显示的特定情况下,您可能希望使用aList<string>
var strings = new List<string>();
Run Code Online (Sandbox Code Playgroud)
现在您可以使用添加字符串到集合 Add()
strings.Add("string to add");
Run Code Online (Sandbox Code Playgroud)
在C#3中,引入了集合初始化器,以便您可以更简洁地初始化集合
var strings = new List<string> { "string1", "string2", "string3" };
Run Code Online (Sandbox Code Playgroud)
创建泛型集合的实例时,它以默认大小开始; List<T>在.NET 4中,默认大小为0,但在添加第一个项目时,默认大小增加到4(默认大小可能因不同的集合类型和框架版本而异,因此听起来默认大小是实现细节).集合通常使用双倍策略通过框架调整大小,也就是说,当集合达到容量并且另一个项目正在尝试添加时,集合容量通常会加倍 - 这在通用集合的实现中得到了解决.你不需要关心的事情.
如果您想要记住它,那么当您向集合添加已知数量的项目或知道要添加的项目数量级时.在这种情况下,您可以考虑使用重载构造函数List<T>来获取int默认大小
var strings = new List<string>(500);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1518 次 |
| 最近记录: |