Partilhar via


MemoryStream.GetBuffer Método

Definição

Retorna a matriz de bytes sem sinal com base na qual este 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 com base na qual este fluxo foi criado ou a matriz subjacente se uma matriz de bytes não tiver sido fornecida para o construtor MemoryStream durante a construção da instância atual.

Exceções

A instância de MemoryStream 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 de 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 mais informações, consulte: Capacity.

Observação

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

Aplica-se a

Confira também