2016-04-16 36 views
1

私はAI機能とを学ぶために取得しようとしていると予想されるが、この3Dの配列は、あなたは、長方形を宣言した配列初期化子は

 int[, ,] inputs = 
     { 
      { { 0, 0 }, {0} }, 
      { { 0, 1 }, { 0 } }, 
      { { 1, 0 }, { 0 } }, 
      { { 1, 1 }, { 1 } } 

     }; 

答えて

-1
int[, ,] inputs = new int[sizeX, sizeY, sizeZ]; 
for(int x = 0; x < inputs.GetLength(0); x++) 
{ 
    for(int y = 0; y < inputs.GetLength(1); y++) 
    { 
     for(int z = 0; z < inputs.GetLength(2); z++) 
     { 
      int element = inputs[x, y, z]; 
     } 
    } 
} 
+0

私はこれが答えどのように表示されません質問は全くありません。 –

1

をワークアウトされていません配列 - 私は "直方体"配列がこの場合より適切だろうと思うが。しかし、各「サブアレイ」イニシャライザを同じ長さにする必要があります。幾何学的なメタファーを続行するには、すべての列は同じ長さである必要があります - しかし、あなたは長さ2のいくつかを持っているし、長さ1

のいくつかは、だから、これは例えば、コンパイルされます:

int[, ,] inputs = 
{ 
    { { 0, 0 }, { 0, 0 } }, 
    { { 0, 1 }, { 0, 0 } }, 
    { { 1, 0 }, { 0, 0 } }, 
    { { 1, 1 }, { 1, 0 } } 

}; 

だこと今は4 x 2 x 2の配列です。

あなたは、異なる長さであることがすべての「最終サブアレイ」できるようにする場合、あなたは1次元配列の長方形の配列を持つことができます:

int[,][] inputs = 
{ 
    { new[] { 0, 0 }, new[] { 0 } }, 
    { new[] { 0, 1 }, new[] { 0 } }, 
    { new[] { 1, 0 }, new[] { 0 } }, 
    { new[] { 1, 1 }, new[] { 1 } }    
};