Từ các tài liệu MSDN vào phương pháp Array.Copy
:Array.Copy luôn là hàng chính?
Khi sao chép giữa các mảng đa chiều, mảng hoạt động như một mảng một chiều dài, nơi các hàng (hoặc cột) được khái niệm đặt đầu đến cuối. Ví dụ, nếu một mảng có ba hàng (hoặc cột) với bốn phần tử, sao chép sáu phần tử từ đầu mảng sẽ sao chép tất cả bốn phần tử của hàng đầu tiên (hoặc cột) và hai phần tử đầu tiên của hàng thứ hai (hoặc cột).
Tôi luôn cho rằng, trong C#, hai chiều mảng được đặt ra trong row-major order (và tương tự cho kích thước cao hơn), vì vậy tôi đang bối rối về ý nghĩa của các ngoặc “hoặc cột” ở trên tài liệu. Điều đó có nghĩa là có thể có trường hợp .NET Framework sử dụng thứ tự cột lớn?
Khá khó hiểu. Có lẽ họ chỉ đang cố gắng che giấu trường hợp (#rows == 1). Tôi khá chắc chắn nó luôn luôn được sao chép theo thứ tự hàng lớn. Nếu không, sự hỗn loạn xảy ra! –
Đó là những gì tôi nghĩ ban đầu, nhưng nó không giữ cho "ba hàng (hoặc cột) với bốn phần tử mỗi phần". Dự đoán hiện tại của tôi là nó được diễn đạt theo cách đó cho những người chuyển đổi định nghĩa của hàng và cột. – Douglas
Tôi nghĩ rằng nó đang cố gắng trở thành thuyết bất khả tri hàng/cột lớn; nó không quan tâm cho dù bạn tưởng tượng chỉ mục đầu tiên của bạn có nghĩa là hàng hoặc cột. – Rawling