在C#中相当于Java的"ByteBuffer.putType()"

Laz*_*zlo 3 c# java bytebuffer memorystream

我试图通过从Java移植代码来格式化C#中的字节数组.在Java中,使用方法"buf.putInt(value);",buf.putShort,buf.putDouble,(等等).但是我不知道如何将它移植到C#.我已经尝试过MemoryStream类,但是没有方法可以在字节数组的末尾放置特定的类型.

问题:C#中Java的"ByteBuffer.putType(value)"的等价物是什么?谢谢!

use*_*116 8

您可以使用BinaryWriter和MemoryStream:

MemoryStream stream = new MemoryStream();
using (BinaryWriter writer = new BinaryWriter(stream))
{
    writer.Write(myByte);
    writer.Write(myInt32);
    writer.Write("Hello");
}

byte[] bytes = stream.ToArray();
Run Code Online (Sandbox Code Playgroud)


Ken*_*art 5

尝试BinaryWriter上课:

using (var binaryWriter = new BinaryWriter(...))
{
    binaryWriter.Write(323);
    binaryWriter.Write(3487d);
    binaryWriter.Write("Hello");
}
Run Code Online (Sandbox Code Playgroud)