【发布时间】:2016-10-10 08:52:39
【问题描述】:
我创建了一个 3d int 数组
public int[,,] npcState = new int[,,] {
{
{0,0}
},{
{1,9,1},{1,0,1},{1,1,1}
},{
{2,2,2},{1,1,1},{1,1,1}
},{
{1,1,1},{10,10}
},{
{8,0},{0,0},{0,0},{0,0}
},{
{10,7},{1,1,1},{1,1,1},{1,1,1},{1,1,1}
},{
{2,2,2}
},{
{1,1,1} ,{1,1,1}
},{
{8,11},{0,0},{0,0},{0,0},{0,0}
},{
{0,1,1},{1,1,1}
}
};
我的问题是
1.) 如何在运行时赋值
2.)如何使用循环检查数组的每一行和每一列
for(int i =0 ; i < firstDimensionalLength ; i ++){
for(int j =0 ; j < secondDimensionalLength; j ++){
for(int k =0 ; k < thirdDimensionalLength; k ++){
// print (npcState[i,j,k]);
}
}
}
如果它的所有维度的长度都是恒定的,那么很容易找到元素。但是如果它是动态的,如何在特定位置找到每个元素
【问题讨论】:
-
你不能像那样定义一个 3D 数组。所有内部数组的长度必须相同。你只能用锯齿状数组来做到这一点。
-
您的代码无法编译。先解决这个问题。