Ближайший аналог Java ByteBuffer в C#?

В настоящее время ищет интерфейс Java и приложения c#. В Java я могу использовать getShort(), getFloat() etc, чтобы получить различные типы данных из буфера.

В C# я использую MemoryStream, но есть только один . Кто-нибудь знает, какой тип данных или даже класс, который будет имитировать эту функциональность?

2 ответов


вы можете обернуть MemoryStream на BinaryReader:

using(var reader = new BinaryReader(yourStream)) {
   int someInt = reader.ReadInt32();  
}

на BinaryReader можно найти в System.IO пространство имен.

посмотреть MSDN подробнее о том, какие методы можно использовать. Имейте в виду, что методы следуют шаблону Read + тип CLR. Так что ReadInt32() для int, ReadUInt16() для краткости, etc.


Вы ищите BinaryReader класс, который может читать из любого потока.

вы также можете использовать BitConverter, который работает непосредственно на байтовых массивах.