Copy Bytes from a byte array to a specific positio

2019-08-03 01:08发布

问题:

I have two byte arrays - array1 and array2 . My aim is to copy the bytes from 1st array to second with respect to the start index of each array and fill the non filled bytes with a specific byte.

byte[] array1 = new byte[5]
The data is as follows: 11,22,00,33,44; 

byte[] array2 = new byte[10];     

I need to copy the bytes from array1 to array2. The data needs to be copied from position 3 in array2 and fill the rest of the empty positions with value ff. ie my result in array2 would be {ff,ff,ff,11,22,00,33,44,ff,ff}

Any help would be appreciable.

Thanks in advance!

回答1:

// Init array2 to 0xff
for (int i = 0; i < array2.Length; i++)
    array2[i] = 0xff;

// Copy
Array.Copy(array1, 0, array2, 3, array2.Length);


回答2:

byte[] array1; array1.CopyTo(array2,pos)