C#中与Java的ByteBuffer最接近的对应物是什么?

7

目前正在寻求将Java应用程序与C#应用程序进行接口。在Java中,我可以使用getShort()getFloat()等函数从缓冲区中获取不同的数据类型。

在C#中,我正在使用MemoryStream,但只有一个get()函数。是否有任何一种数据类型或甚至是类可以模拟这个功能?

2个回答

3
您可以将MemoryStream包装在BinaryReader中:
using(var reader = new BinaryReader(yourStream)) {
   int someInt = reader.ReadInt32();  
}
BinaryReader 可在 System.IO 命名空间中找到。 请查看 MSDN 以获取可用方法的详细信息。请注意,这些方法遵循 Read + CLR 类型的模式。因此,ReadInt32() 代表 int,ReadUInt16() 代表 short,等等。

3
您需要寻找的是BinaryReader类,它可以从任何流中读取数据。
您也可以使用直接操作字节数组的BitConverter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接