我注意到 C#/Java 的一个问题是(目前对我来说)与数组大小声明和数组大小的默认第一个索引似乎不一致的问题。
使用数组时,假设您想创建一个新的整数数组大小3
,它看起来像这样:
int[] newArray = new int[3] {1, 2, 3};
完全可以找到并且可读...对吗?
编程语言的标准似乎规定“第一个”索引是0
.
使用该逻辑,如果我有兴趣创建一个大小为3
,我真的应该这样写:
int[] newArray = new int[2] {1, 2, 3};
等一下..VS 抛出一个错误,说an array initialize of length 2 is expected
.
那么循环数组中的第一个索引和数组大小声明是否不一致?前者使用一个0
-th 为基础的索引,第二个为1
-th 索引。
它不会以任何形式或方式破坏游戏/改变,但我真的很好奇为什么这里存在差异,或者地狱,如果这根本是一个问题(就像我说的,它不会以任何方式破坏游戏,但我很好奇为什么要这样做)。
我现在可以想到原因1
将使用基于第 -th 的索引:
在 for 循环中你会使用< newArray.Length
相对于< newArray.Length - 1
or < newArray.Length
.
与...一起工作List
看了一会儿,然后回到需要声明大小的数组,这让我有点措手不及。