MemoryStream.SetLength(Int64) 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.
Define o comprimento do fluxo atual para o valor especificado.
public:
override void SetLength(long value);
public override void SetLength (long value);
override this.SetLength : int64 -> unit
Public Overrides Sub SetLength (value As Long)
Parâmetros
- value
- Int64
O valor a ser usado para definir o comprimento.
Exceções
O fluxo atual não é redimensionável e value
é maior que a capacidade atual.
- ou -
O fluxo atual não dá suporte para gravação.
value
é negativo ou é maior que o comprimento máximo do MemoryStream, em que o comprimento máximo é (Int32.MaxValue - origin
) e origin
é o índice no buffer subjacente no qual o fluxo é iniciado.
Comentários
Este método substitui SetLength.
Se o valor especificado for menor que o comprimento atual do fluxo, o fluxo será truncado. Se após o truncamento a posição atual dentro do fluxo estiver além do final do fluxo, o ReadByte método retornará -1, o Read método lerá zero bytes na matriz de bytes fornecida e WriteWriteByte os métodos acrescentarão bytes especificados no final do fluxo, aumentando seu comprimento. Se o valor especificado for maior que a capacidade atual e o fluxo for redimensionável, a capacidade será aumentada e a posição atual dentro do fluxo permanecerá inalterada. Se o comprimento for aumentado, o conteúdo do fluxo entre o antigo e o novo comprimento será inicializado como zeros.
Observação
Uma MemoryStream instância deve dar suporte à gravação para que esse método funcione. Use a CanWrite propriedade para determinar se a instância atual dá suporte à gravação. Para obter mais informações, consulte: CanWrite.