在C中,在数组中说A[2][3]
最右边的索引更改导致内存地址移位最小,即元素在内存中位于A[0][0], A[0][1]...
.NET中的矩形数组是否也是如此?如果我们有,那么数组a[2, 3]
是位于内存中的元素a[0, 0], a[0, 1]...
?
答案 0 :(得分:18)
CLI specification,第8.9.1节,声明:
数组元素应以row-major的形式放置在数组对象中 顺序(即与最右边的数组相关联的元素) 尺寸应从最低到最高连续布置 指数)。为每个数组元素分配的实际存储空间可以 包括特定于平台的填充。
所以答案是肯定的 - 你将首先遇到第一行的所有元素,然后是第二行的所有元素等(正如规范所说,这称为行主要顺序 )。