MemoryStream.GetBuffer Método

Definição

Retorna a matriz de bytes não assinados dos quais esse fluxo foi criado.

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()

Retornos

Byte[]

A matriz de bytes da qual esse fluxo foi criado ou a matriz subjacente se uma matriz de bytes não foi fornecida ao MemoryStream construtor durante a construção da instância atual.

Exceções

A MemoryStream instância não foi criada com um buffer visível publicamente.

Comentários

Observe que o buffer contém bytes alocados que podem não ser utilizados. Por exemplo, se a cadeia de caracteres "test" for gravada no MemoryStream objeto, o comprimento do buffer retornado GetBuffer será 256, não 4, com 252 bytes não utilizados. Para obter apenas os dados no buffer, use o ToArray método; no entanto, ToArray cria uma cópia dos dados na memória.

O buffer também pode ser null.

Para criar uma MemoryStream instância com um buffer visível publicamente, use MemoryStream, MemoryStream(Byte[], Int32, Int32, Boolean, Boolean)ou MemoryStream(Int32). Se o fluxo atual for redimensionável, duas chamadas para esse método não retornarão a mesma matriz se a matriz de bytes subjacente for redimensionada entre chamadas. Para obter informações adicionais, confira Capacity.

Note

Esse método funciona quando o fluxo de memória é fechado.

Aplica-se a

Confira também