快速完整性檢查。 Array.Copy僅適用於一維數組,還是可以處理更多?是Array.Copy只有一個維度?
在讀我讀它的規格(可能是錯誤的)意味着比賽必須在第二個維度進行。即。源索引和目標索引可以不同,我們可以指定元素的數量。
好吧,讓我們磨合一下「搭配」吧。對於等級2的數組被複制到另一個等級爲2的數組中,比如說10x4到20x4,我們是否說我們必須匹配維度1,2和2。我需要它僅在第二維上。
是.net中使用循環機制來實現此目的的唯一方法。如果是這樣,那將比塊拷貝慢得多。
檢查了這一點:
static void Main(string[] args)
{
var A = new int[2,4] {{1, 1, 1, 1}, {2, 2, 2, 2}};
var B = new int[4,4];
var C = new int[4, 4];
Array.Copy(A, 0, B, 4, 8);
Array.ConstrainedCopy(A, 0, C, 8, 8); // haven't noticed this method before. Same behaviour though.
}
注意,我們必須指定在世界上的一個維視圖正確的出發點。我沒有想到這一點。從here
你甚至讀過你提供的鏈接中的任何方法頁嗎? –
@Alastair Pitts:是的。請參閱更新的問題。目前正在查看可用於排名1的陣列但不適用於排名2(或可能更多)的實時代碼。因此,這個問題。 – sgtz
關鍵是對文檔中的「端到端」的引用。這是每個維度的端到端佈局。編輯我的答案... – bryanmac