主要问题是我如何更新数组中的值?就像我只得到 4 个字节而不是所有字节,因为它是整数。
byte[] iarray = File.ReadAllBytes(path);
uint t;
for (int i = 61; i < 3440; i++)
{
i+=3;
t = BitConverter.ToUInt32(iarray,i);
if (t > 0)
{
t += 96;
}
iarray = BitConverter.GetBytes(t);
}
File.WriteAllBytes(path,iarray);
您正在尝试重写整个数组,而不是更新现有数组内的唯一数据部分(4 个字节)。因此,在获得
t
的最终值后,您可以执行以下操作,将这个新值而不是旧值放回数组中(因此,使用相同的“i”值作为位置)
BitConverter.GetBytes(t).CopyTo(iarray, i);