MemoryStream.SetLength(Int64) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.