1
            public const T = true;
            public static bool[,] MassMediumHorizontal = new bool[,]
            { 
            {T,T,T,T,T,T},
            {T,T,T,T,T,T},
            {T,T,T,T,T,T},
            {T,T,T,T,T,T},
            {T,T,T,T,T,T},
            {T,T,T,T,T,T},
            {T,T,T,T,T,T},
            {T,T,T,T,T,T},
            {T,T,T,T,T,T},
            {T,T,T,T,T,T},
            {T,T,T,T,T,T},
            {T,T,T,T,T,T}
            };

ご覧のとおり、この配列の幅は 6、高さは 12 です。

コンパイルすると、幅と高さが反転します。

デバッグ中にブレークポイントを配置すると (Visual Studio 機能)、変数の名前にカーソルを合わせると、配列のサイズが表示され、12x6 (幅 x 高さ) と表示されます。


もちろん、これとは反対のことをしたい場合は、元の配列を 12x6 にして、コンパイル後に 6x12 にします。

しかし、そもそもなぜこれが起こるのでしょうか?(コンパイル後は回転しません)

4

2 に答える 2

1

配列には実際には「幅」と「高さ」の概念がなく、次元は任意です。

たまたま、最初の次元の配列の長さが 12 で、2 番目の次元の配列の長さが 6 であるため、12x6 の配列です。あなたと私が従来、最初の次元を「幅」、2 番目の次元を「高さ」と考えているという事実は、コンパイラには関係ありません。

于 2013-09-03T18:17:01.657 に答える