public static T[] ArrayInsert<T>(T[] array, T val, int position)
var ret = new T[array.Length+1];
Array.Copy(array, 0, ret, 0, position);
Array.Copy(array, position, ret, position+1, array.Length-position);
public static void Main()
byte[] array = { 0x17, 0x8B, 0x01, 0x00, 0x03, 0xEA, 0x05, 0x00, 0x14, 0x0A, 0x00, 0x00, 0x03, 0xEA, 0x05, 0x00, 0x14, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
Console.WriteLine(string.Join(",", array));
array = ArrayInsert<byte>(array, 0, 2);
Console.WriteLine(string.Join(",", array));