Compartir a través de


MemoryStream.SetLength(Int64) Método

Definición

Establece la longitud de la secuencia actual en el 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

Valor en el que establecer la longitud.

Excepciones

La secuencia actual no es de tamaño variable y value es mayor que la capacidad actual.

o bien

La secuencia actual no admite escritura.

value es negativo o es mayor que la longitud máxima de MemoryStream, donde la longitud máxima es (Int32.MaxValue - origin) y origin es el índice en el búfer subyacente en el que se inicia la secuencia.

Comentarios

Este método invalida SetLength.

Si el valor especificado es menor que la longitud actual de la secuencia, se trunca la secuencia. Si después del truncamiento de la posición actual dentro de la secuencia está más allá del final de la secuencia, el ReadByte método devuelve -1, el Read método lee cero bytes en la matriz de bytes proporcionada y WriteWriteByte los métodos anexan bytes especificados al final de la secuencia, aumentando su longitud. Si el valor especificado es mayor que la capacidad actual y el flujo se puede cambiar de tamaño, se aumenta la capacidad y la posición actual dentro de la secuencia no cambia. Si se aumenta la longitud, el contenido de la secuencia entre la antigua y la nueva longitud se inicializan en ceros.

Nota

Una MemoryStream instancia de debe admitir la escritura para que este método funcione. Use la CanWrite propiedad para determinar si la instancia actual admite la escritura. Para obtener información adicional, vea CanWrite.

Se aplica a

Consulte también