如何在数组中添加一个保存字节的位置?

时间:2018-02-08 00:39:59

标签: c# arrays list

我目前有这个字节数组:

public byte[] ToByteArray()
{
    List<byte> byteList = new List<byte>();
    byteList.AddRange(BitConverter.GetBytes(MsgID));
    byteList.AddRange(BitConverter.GetBytes(Status));
    byteList.AddRange(BitConverter.GetBytes(Value));
    byteList.AddRange(BitConverter.GetBytes(TagName.Length));
    byteList.AddRange(Encoding.ASCII.GetBytes(TagName));
    return byteList.ToArray();
}

我使用此数组通过TCP发送,因此我需要每个元素保持一个设置位置。这对我来说很好,直到我将value更改为动态变量,该变量可以是int16int32。数据类型在msgID中指定,因此客户端知道如何处理接收的字节消息。但是,由于转换后的int16int32的字节长度的一半,我需要valueTagName.Length之间的某种占位符。

我正考虑在索引7处使用InsertRange,但我不确定该列表将如何处理丢失的2个字节。

0 个答案:

没有答案