網(wǎng)上找了下,沒(méi)有找到關(guān)于二維數(shù)組拷貝到二維數(shù)組的相關(guān)內(nèi)容。Array.Copy的使用方法中一般給的例子是一維數(shù)組。這里解釋一種拷貝二維數(shù)組的方法,使用的仍然是Array.Copy的方法。
有如下數(shù)組:
a=[1 2 3 4;
5 6 7 8;
9 10 11 12];
要把這個(gè)數(shù)組的第一行和第三行拷貝到一個(gè)新的數(shù)組中,即有:
b=[1 2 3 4;
9 10 11 12];
代碼如下:
int[,] a=new int[,]{{1, 2 ,3,4},{5,6,7,8},{9,10,11,12}};
int LogicNum = a.GetLength(0) / 3;
int FrameNum = a.GetLength(1);
int[,] b = new int[2*LogicNum,FrameNum];
Array.Copy(a,0,b,0,LogicNum*FrameNum);
Array.Copy(a, 2 * LogicNum * FrameNum, b,LogicNum * FrameNum, LogicNum * FrameNum);
關(guān)鍵之處在于,二維數(shù)組的下標(biāo),可以通過(guò)a[iRow,iCol]索引, 其中iRow表示行號(hào),iCol表示列號(hào),也可以通過(guò)a[iRow*ColNum+iCol]索引, 即看成一維數(shù)組,ColNum表示一行中共有多少列。 --------------------- 作者:老喵Aff 來(lái)源:CSDN 原文:https://blog.csdn.net/weixin_38089515/article/details/77483225 版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請(qǐng)附上博文鏈接!
|