4

Java からコードを移植して、C# でバイト配列をフォーマットしようとしています。Java では、「buf.putInt(value);」、buf.putShort、buf.putDouble などのメソッドが使用されます。ただし、これを C# に移植する方法がわかりません。MemoryStream クラスを試してみましたが、特定の型をバイト配列の最後に置く方法がありません。

質問: C# での Java の「ByteBuffer.putType(value)」に相当するものは何ですか? ありがとう!

4

3 に答える 3

9

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();
于 2009-08-11T16:45:13.213 に答える
5

BinaryWriterクラスを試してください:

using (var binaryWriter = new BinaryWriter(...))
{
    binaryWriter.Write(323);
    binaryWriter.Write(3487d);
    binaryWriter.Write("Hello");
}
于 2009-08-11T16:44:11.000 に答える
0

BitConverterクラスを使用したいと思うでしょう。主な違いは、これらのメソッドが既存の配列を変更するのではなく、バイトの配列を返すことです。

(これは、言及された特定のメソッドの置き換えです。ByteBuffer クラス全体の置き換えについては、他の回答を参照してください。)

于 2009-08-11T16:41:33.140 に答える