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;
}
}