MemoryStream.GetBuffer Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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.