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 como 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 a ser definido.
Exceções
O fluxo atual não é redimensionável e value é maior que a capacidade atual.
-ou-
O fluxo atual não dá suporte à gravação.
value é negativo
-ou-
Em versões .NET 11 e posteriores, value é maior que Array.MaxLength.
-ou-
No .NET 10 e versões anteriores, value é 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 após o 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 ficará inalterada. Se o comprimento for aumentado, o conteúdo do fluxo entre o antigo e o novo comprimento será inicializado como zeros.
Note
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 informações adicionais, confira CanWrite.