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 comprimento até ao set.

Exceções

O fluxo de corrente não é redimensionável e value é maior do que a capacidade atual.

-ou-

O fluxo atual não suporta escrita.

value é negativo

-ou-

Em versões .NET 11 e posteriores, value é maior do que Array.MaxLength.

-ou-

Em versões .NET 10 e anteriores, value é maior do que o comprimento máximo do MemoryStream, onde o comprimento máximo é (Int32.MaxValue - origin), e origin é o índice do buffer subjacente onde o fluxo começa.

Observações

Este método substitui o SetLength.

Se o valor especificado for inferior ao comprimento atual do fluxo, o fluxo é truncado. Se, após o truncamento, a posição atual dentro do fluxo estiver para além do fim do fluxo, o ReadByte método devolve -1, o Read método lê zero bytes no array de bytes fornecido, e Write os WriteByte métodos adicionam bytes especificados no final do fluxo, aumentando o seu comprimento. Se o valor especificado for maior do que a capacidade atual e o fluxo for redimensionável, a capacidade aumenta e a posição atual dentro do fluxo permanece inalterada. Se o comprimento for aumentado, o conteúdo do fluxo entre o comprimento antigo e o novo é inicializado a zero.

Note

Um exemplo deve suportar a MemoryStream escrita para que este método funcione. Use a CanWrite propriedade para determinar se a instância atual suporta escrita. Para obter informações adicionais, consulte CanWrite.

Aplica-se a

Ver também