Compartilhar via


MemoryStream.SetLength(Int64) Método

Definição

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.

Aplica-se a

Confira também