如何用新值更新数组? C#

问题描述 投票:0回答:1

主要问题是我如何更新数组中的值?就像我只得到 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);
c# file editing
1个回答
0
投票

您正在尝试重写整个数组,而不是更新现有数组内的唯一数据部分(4 个字节)。因此,在获得

t
的最终值后,您可以执行以下操作,将这个新值而不是旧值放回数组中(因此,使用相同的“i”值作为位置)

BitConverter.GetBytes(t).CopyTo(iarray, i);
© www.soinside.com 2019 - 2024. All rights reserved.