MemoryStream.GetBuffer Метод

Определение

Возвращает массив байтов без знака, из которого был создан данный поток.

public:
 virtual cli::array <System::Byte> ^ GetBuffer();
public virtual byte[] GetBuffer ();
abstract member GetBuffer : unit -> byte[]
override this.GetBuffer : unit -> byte[]
Public Overridable Function GetBuffer () As Byte()

Возвращаемое значение

Byte[]

Массив байтов, из которого был создан данный поток, или базовый массив, если массив байтов не был предоставлен конструктору MemoryStream в процессе конструирования текущего экземпляра.

Исключения

Экземпляр MemoryStream не был создан с помощью открытого буфера.

Комментарии

Обратите внимание, что буфер содержит выделенные байты, которые могут быть неиспользуемы. Например, если строка test записывается в MemoryStream объект , длина буфера, возвращаемого из GetBuffer , составляет 256, а не 4, при этом не используется 252 байта. Чтобы получить только данные в буфере, используйте ToArray метод ; ToArray однако создает копию данных в памяти.

Буфером также может быть null.

Чтобы создать MemoryStream экземпляр с общедоступным буфером, используйте MemoryStream, MemoryStream(Byte[], Int32, Int32, Boolean, Boolean)или MemoryStream(Int32). Если текущий поток можно изменить, два вызова этого метода не возвращают один и тот же массив, если размер базового массива байтов изменяется между вызовами. Дополнительные сведения см. в разделе Capacity.

Примечание

Этот метод работает при закрытии потока памяти.

Применяется к

См. также раздел