2013-08-04 3 views
4
byte[] input = new byte[] {2, 4, 5, 2, 1}; 
ByteBuffer bytebuf = ByteBuffer.wrap(input); 

ByteBuffer.wrap(byte[] array) метод делает буфер и массив взаимосвязаны, изменения в буфере будут заставлять массив изменять и наоборот.Что такое эквивалент Java ByteBuffer.wrap в C#?

Эквивалент ByteBuffer в C# является memystream. Но я не знаю, как подключить memystream с массивом нравится ByteBuffer.wrap() способ сделал.

Может ли кто-нибудь сказать, что эквивалентно ByteBuffer.wrap() в C#? Я искал везде, но не смог найти ответ.

Заранее спасибо.

+0

Может быть, вы могли бы взглянуть на этот вопрос. http://stackoverflow.com/questions/10078348/byte-collection-based-similar-with-bytebuffer-from-java – kkaosninja

+0

привет @ Кришна, я прочитал этот пост, но он все равно не помог. – NoeL

+0

Я не знаю, какое точное поведение вам не хватает из связанного вопроса, но проверьте конструкторы «MemoryStream» - есть один, чтобы использовать данный массив в качестве буфера ... –

ответ

2

Use a binary writer and a memory stream.

Я не помечен этот вопрос как дубликат только потому, что вы не спрашиваете, что именно, что другой плакат сделал. Я не уверен, что делать в этом случае, но все же хочу помочь вам. Удачи!

Вот код из этой ссылки ради потомства:

MemoryStream stream = new MemoryStream(); 
using (BinaryWriter writer = new BinaryWriter(stream)) 
{ 
    writer.Write(myByte); 
    writer.Write(myInt32); 
    writer.Write("Hello"); 
} 
byte[] bytes = stream.ToArray(); 
+0

привет @ Мориссон, ссылка, которую вы указали, ссылается на этот вопрос. Не могли бы вы исправить это? – NoeL

+0

Я не думаю, что это правильное решение. Код, который вы указали, предназначен только для ввода массива в memystream с использованием BinaryWriter, это не метод подключения потока с массивом. Даже последний байт кода [] bytes = stream.ToArray(); приведет к ошибке, потому что поток не может быть доступен, потому что поток был закрыт BinaryWriter. – NoeL

+0

@NoeL - уметь предоставлять ссылку (MSDN?), Чтобы доказать ваше последнее утверждение о 'ToArray', которое не работает при закрытии/размещении' MemeoryStream'? –

Смежные вопросы