MemoryStream.SetLength(Int64) Metodo

Definizione

Imposta la lunghezza del flusso corrente sul valore specificato.

public:
 override void SetLength(long value);
public override void SetLength (long value);
override this.SetLength : int64 -> unit
Public Overrides Sub SetLength (value As Long)

Parametri

value
Int64

Valore su cui impostare la lunghezza.

Eccezioni

Il flusso corrente non è ridimensionabile e il parametro value è maggiore della capacità corrente.

-oppure-

Il flusso corrente non supporta la scrittura.

value è negativo o è maggiore della lunghezza massima di MemoryStream, dove la lunghezza massima è (Int32.MaxValue - origin) e origin è l'indice nel buffer sottostante in corrispondenza del quale inizia il flusso.

Commenti

Questo metodo esegue l'override di SetLength.

Se il valore specificato è minore della lunghezza corrente del flusso, il flusso viene troncato. Se dopo il troncamento la posizione corrente all'interno del flusso supera la fine del flusso, il ReadByte metodo restituisce -1, il Read metodo legge zero byte nella matrice di byte fornita e WriteWriteByte i metodi aggiungono byte specificati alla fine del flusso, aumentandone la lunghezza. Se il valore specificato è maggiore della capacità corrente e il flusso è ridimensionabile, la capacità viene aumentata e la posizione corrente all'interno del flusso rimane invariata. Se la lunghezza viene aumentata, il contenuto del flusso tra il vecchio e la nuova lunghezza vengono inizializzati su zeri.

Nota

Un'istanza MemoryStream di deve supportare la scrittura per il funzionamento di questo metodo. Utilizzare la CanWrite proprietà per determinare se l'istanza corrente supporta la scrittura. Per altre informazioni, vedere CanWrite.

Si applica a

Vedi anche