MemoryStream.SetLength(Int64) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.