MemoryStream.GetBuffer Método

Definição

Devolve o array de bytes sem assinatura a partir do 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()

Devoluções

Byte[]

O array de bytes a partir do qual este fluxo foi criado, ou o array subjacente se um array de bytes não foi fornecido 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.

Observações

Note que o buffer contém bytes alocados que podem não ser utilizados. Por exemplo, se a string "test" for escrita no MemoryStream objeto, o comprimento do buffer devolvido GetBuffer é 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 publicamente visível, use MemoryStream, MemoryStream(Byte[], Int32, Int32, Boolean, Boolean), ou MemoryStream(Int32). Se o fluxo atual for redimensionável, duas chamadas a este método não retornam o mesmo array se o array de bytes subjacente for redimensionado entre chamadas. Para obter informações adicionais, consulte Capacity.

Note

Este método funciona quando o fluxo de memória está fechado.

Aplica-se a

Ver também