10

メソッドに関するMSDNドキュメントからArray.Copy

多次元配列間でコピーする場合、配列は長い 1 次元配列のように動作し、行 (または列) は概念的に端から端まで配置されます。たとえば、配列にそれぞれ 4 つの要素を持つ 3 つの行 (または列) がある場合、配列の先頭から 6 つの要素をコピーすると、最初の行 (または列) の 4 つの要素すべてと、2 番目の行の最初の 2 つの要素がコピーされます (または列)。

私は常に、C# では 2 次元配列が行優先の順序で配置されていると想定してきました(より高い次元の場合も同様です)。そのため、上記のドキュメントの括弧で囲まれた「または列」の意味について混乱しています。.NET Framework が列優先の順序付けを使用する状況がある可能性があるということですか?

4

1 に答える 1

12

配列が長方形ではなく、単一の線形空間であることを伝えようとしているだけだと思います。「行」または「列」の概念は、実際にはユーザーの発明です。行も列もありません。「行 x、列 y」または「列 x、行 y」の行に沿った規則は、純粋に次のとおりです。何かを概念化する際の私たちの想像力の一部。唯一の実際の順序は、どのインデックスが最初にナビゲートされるかです。最初?または最後?arr[x,y]

それを「行」と呼ぶか「列」と呼ぶかはあなた次第であり、実際に使用されている両方の例があります。

于 2013-06-10T14:01:02.193 に答える