我注意到关于 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
- 基于索引,第二个是 1
-th 指数。
这不是任何形式或方式的游戏破坏/改变,但我真的很好奇为什么这里存在差异,或者 hell ,如果这根本不是一个问题(就像我说的,这不是游戏破坏无论如何,但我很好奇为什么这样做)。
我现在可以想到为什么 1
的原因-th 基于索引将被使用:
在 for 循环中,您将使用 < newArray.Length
而不是 < newArray.Length - 1
或 < newArray.Length
.
使用 List
过了一会儿,然后回到需要声明的大小数组让我有点措手不及。
最佳答案
因为您声明的数组包含 number 个元素。
我不确定这是怎么不一致。
将一根圆木锯成 3 段需要锯多少次?提示:不是 3 次。
另请注意,在您的帖子标题中,您如何错误地将数组大小声明称为“索引”。
关于c# - 为什么数组大小声明使用 "1"作为第一个索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22511775/