在字节数组中插入字节?

时间:2016-03-16 10:27:51

标签: c#

byte [] myFile = File.ReadAllBytes(" d:\ 123.xml"); 我希望在myFile字节数组中的每个字节后插入一些字符。 如果myFile字节数组长度为5000,则在插入后,它将变为10000。 我怎么用c#写的?

2 个答案:

答案 0 :(得分:2)

您无法插入到数组中。数组是固定长度的。

如果要插入特定字节,可以使用List<byte>,也可以使用LinQ的强大功能构建新数组。

这将在您已经拥有的每个字节之后插入一个空字节,例如:

var inserted = myFile.SelectMany( b => new []{ b, (byte)0 } ).ToArray();

答案 1 :(得分:0)

var newArr = new int[10000];
for (int i = 0; i < 10000; i++)
{
    if (i % 2 == 0)
    {
        newArr[i] = myFile[i / 2];
    }
    else
    {
        newArr[i] = (byte)someChar;
    }
}