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

Lunghezza da impostare.

Eccezioni

Il flusso corrente non è ridimensionabile ed value è maggiore della capacità corrente.

oppure

Il flusso corrente non supporta la scrittura.

value è negativo

oppure

In .NET 11 e versioni successive value è maggiore di Array.MaxLength.

oppure

In .NET 10 e versioni precedenti, value è maggiore della lunghezza massima del MemoryStream, dove la lunghezza massima è (Int32.MaxValue - origin) e origin è l'indice nel buffer sottostante in cui viene avviato 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 della posizione corrente all'interno del flusso è oltre la fine del flusso, il ReadByte metodo restituisce -1, il Read metodo legge zero byte nella matrice di byte fornita e Write i WriteByte 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.

Note

Per il funzionamento di questo metodo, è MemoryStream necessario che un'istanza di supporti la scrittura. Utilizzare la CanWrite proprietà per determinare se l'istanza corrente supporta la scrittura. Per altre informazioni, vedere CanWrite.

Si applica a

Vedi anche