byte兩個或多個數組合並


最近遇到了個問題多個byte數組解析拆分之后在合並,今天忙完之后騰出時間記錄一下供網友學習:

//System.Array類中的函數原型:

Copy(Array sourceArray, Array destinationArray,  int length);
Copy(Array sourceArray, Array destinationArray,  long length);
Copy(Array sourceArray, int sourceIndex, Array destinationArray, int destinationIndex,  int length);
Copy(Array sourceArray, long sourceIndex, Array destinationArray, long destinationIndex, long length);
CopyTo(Array array, int index);	
CopyTo(Array array, long index);					

這些操作類似於字符串的一些操作,熟悉字符串操作的一看參數就知道代表的什么意思(以下為官方手冊給出的文檔):
前兩個:從第一個元素開始復制 Array 中的一系列元素,將它們粘貼到另一 Array 中(從第一個元素開始), 長度指定為 32 位或64位整數;
中間兩個:復制 Array 中的一系列元素(從指定的源索引開始),並將它們粘貼到另一 Array 中(從指定的目標索引開始),長度和索引指定為 32 位或64位整數;
最后兩個:從指定的目標數組索引處開始,將當前一維數組的所有元素復制到指定的一維數組中,索引指定為 32 位或64位整數。

下面以兩個byte數組舉個例子(將第二個數組地48位到第72位拷貝到第一個數組末尾):

//首先分配大小:
byte[] all_byte = new byte[byte_first.length + 24];
//拷貝第一個數組
System::Array.Copy(byte_first, all_byte, byte_first.length);
//拷貝第二個數組,從第48位開始,拷貝24位
System::Array.Copy(byte_second, 48, all_byte, all_byte.length, 24);

以上僅供參考,如有其它意見或建議,請評論回復。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM