0

配列C#でブール演算子を実行する方法. 同じサイズの 3D 配列が 3 つあります。2 つの配列にブール演算子を適用し、結果を array3 に保持したいと考えています。例えば:

int[, ,] array1 = new int[,,] { { { 1, 2, 3 }, { 4, 5, 6 } }, 
                             { { 7, 8, 9 }, { 10, 11, 12 } } };
int[, ,] array2 = new int[,,] { { { 1, 1, 1 }, { 0, 0, 0 } }, 
                             { { 0, 0, 0 }, { 0, 0, 0 } } };
int [, ,] array3 = new int[4,3]; 
result = array1 (AND operator) array2;

期待される結果:

array3 = { { 1, 2, 3 }, { 0, 0, 0 } },{ { 0, 0, 0 }, { 0, 0, 0 } };

私の質問は、配列要素にアクセスせずに 2 つの配列にブール値の出力を実装する方法はありますか?

よろしくお願いします。

4

2 に答える 2

1

私はあなたが何を意味するのか完全にはわかりませんが、

int[,,] array3 = new int[array1.GetLength(0), array1.GetLength(1), array1.GetLength(2)];

for (int x = 0; x < array1.GetLength(0); ++x)
    for (int y = 0; y < array1.GetLength(1); ++y)
        for (int z = 0; z < array1.GetLength(2); ++z)
            array3[x, y, z] = (array2[x, y, z] != 0) ? array1[x, y, z] : 0;

array2[x,y,z] がゼロでない場合、array3[x,y,z] を array1[x,y,z] に設定します。それ以外の場合は、array3[x,y,z] を 0 に設定します。

そうですか?

于 2013-06-26T08:30:08.273 に答える