在字节数组中插入字节



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

不能插入到数组中。数组是固定长度的。

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

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

var inserted = myFile.SelectMany( b => new []{ b, (byte)0 } ).ToArray();
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;
    }
}

最新更新