【发布时间】:2019-11-09 21:44:50
【问题描述】:
我有一个 3d 数组:
int[,,] cube = new int[10, 10, 10];
我认为赋值的方式是这样的:
for(int i = 1; i < 11; i++)
{
for(int j = 1; j < 11; j++)
{
for(int k = 1; k < 11; k++)
{
cube[i, j, k] = [i, j, k]; // Goofed up part
}
}
}
【问题讨论】:
-
我们不知道您的问题是什么,但我认为代码会引发索引超出范围异常。数组索引不是从一开始的,所以不要从一迭代到十。像这样从零迭代到九:
for (int i = 0; i < 10; i++). -
另外,我不知道你想用
[i, j, k]做什么。您是否尝试添加另一个数组? -
正如大家所指出的,C# 数组是从零开始的。 N 个元素的数组从 0 索引到 N-1。典型的
for循环写成for(var i = 0; i < arrayLength; ++i) -
如果你真的想在一个三维数组的每个元素中存储三个坐标,你需要
Point3D[,,]或类似的东西。
标签: c# arrays multidimensional-array