来自Array.Copy
方法的MSDN文档:
在多维数组之间进行复制时,数组的行为类似于长一维数组,其中行(或列)在概念上是端对端放置的。例如,如果一个数组有三行(或列),每行包含四个元素,则从数组开头复制六个元素将复制第一行(或列)的所有四个元素和第二行的前两个元素(或列)。
我一直认为,在C#中,二维数组在row-major order中布局(对于更高维度也是如此),所以我对括号“或列”的含义感到困惑在上面的文档中。这是否意味着.NET Framework可能存在使用列主要排序的情况?
答案 0 :(得分:10)
我怀疑它只是试图传达一个数组不是一个矩形 - 它是一个单一的线性空间。 “行”或“列”的任何概念实际上是用户的发明。没有行,也没有列; arr[x,y]
行的任何约定是“行x,列y”或“列x,行y”纯粹是:约定;我们在概念化某些事物时的想象力。唯一的实际订单是首先导航哪个索引。首先?还是最后一个?
你是否称之为“行”或“列”取决于你,并且有两个例子在野外使用。