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结束。
但为什么这首先发生呢? (编译后我不会旋转它)
答案 0 :(得分:5)
将数组视为宽度和高度令人困惑。测量从最外层开始。
你的外部尺寸为12,内部尺寸为6.因此12 x 6.这就是它的工作方式。
答案 1 :(得分:1)
数组实际上没有“宽度”和“高度”的概念,尺寸是任意的。
恰好第一维中数组的长度为12,第二维中数组的长度为6,因此它是一个12x6数组。你和我通常认为第一个维度为'width'而第二个维度为'height'这一事实与编译器无关。