关于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个使用第a 个索引.
这不是任何形式或方式的游戏破坏/改变,但我真的好奇为什么这里存在差异,或者地狱,如果这甚至是一个问题(就像我说的那样,它不会以任何方式破坏游戏,但我很好奇为什么这样做了).
我现在可以想到为什么1使用基于索引的原因:
在for循环中,您将使用< newArray.Length而不是< newArray.Length - 1或< newArray.Length.
使用Lists一段时间,然后回到size-needs-be-declared-arrays阵列让我有些措手不及.
我认为你把索引器与长度混淆了.您希望在数组中包含三个元素(或变量),表示为
...new int[3]...
Run Code Online (Sandbox Code Playgroud)
并且大括号中的元素是值,而不是索引.指数仍为0.Longform看起来像这样:
int[] newArray = new int[3];
newArray[0] = 1;
newArray[1] = 2;
newArray[2] = 3;
Run Code Online (Sandbox Code Playgroud)
因此,您可以看到基于零的索引与int []的值相关的位置.
| 归档时间: |
|
| 查看次数: |
282 次 |
| 最近记录: |