C# 更改数组中的几个字段

C# 更改数组中的几个字段,c#,.net,packet,C#,.net,Packet,我有表示数据包的字节[],例如: byte[] arr = { 01, 02, 03, 04, 05, 06, 07, 08, 09, 10 }; 假设字节03 04 05表示从用户接收值后我要更改的用户名字段(04,05是用户,03是所有字段的长度),例如: byte[] arr = { 01, 02, 03, 04, 05, 06, 07, 08, 09, 10 }; kinok转换为107、108、110、111、107,因此数据包中的值应更改为06、107、108、110、111、1

我有表示数据包的
字节[]
,例如:

byte[] arr = { 01, 02, 03, 04, 05, 06, 07, 08, 09, 10 };
假设字节
03 04 05
表示从用户接收值后我要更改的用户名字段(04,05是用户,03是所有字段的长度),例如:

byte[] arr = { 01, 02, 03, 04, 05, 06, 07, 08, 09, 10 };
kinok
转换为
107、108、110、111、107
,因此数据包中的值应更改为
06、107、108、110、111、107


如何用新值替换旧值
03 04 05
06、107、108、110、111、107

您可以将字节数组更改为字节列表,并执行所有更改,包括在其中插入。然后再更改回去

详细信息将取决于您的情况,例如阵列大小和性能问题。转换很简单,但不是免费的

    List<byte> bList = arr.ToList();
    // ...do your changes and inserts...
    arr = bList.ToArray<byte>();
List bList=arr.ToList();
//…进行更改和插入。。。
arr=bList.ToArray();