MemoryStream.SetLength(Int64) Metoda

Definice

Nastaví délku aktuálního datového proudu na zadanou hodnotu.

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

Parametry

value
Int64

Hodnota, pro kterou chcete nastavit délku.

Výjimky

Aktuální datový proud není možné měnit velikost a value je větší než aktuální kapacita.

-nebo-

Aktuální datový proud nepodporuje psaní.

value je záporná hodnota nebo je větší než maximální délka objektu MemoryStream, kde maximální délka je (Int32.MaxValue - origin) a origin je indexem podkladové vyrovnávací paměti, ve které datový proud začíná.

Poznámky

Tato metoda přepíše SetLength.

Pokud je zadaná hodnota menší než aktuální délka datového proudu, datový proud se zkrátí. Pokud je po zkrácení aktuální pozice v rámci datového proudu za koncem datového proudu, ReadByte vrátí metoda -1, Read metoda načte nula bajtů do zadaného pole bajtů a WriteWriteByte metody připojí zadané bajty na konci datového proudu, čímž zvětšuje jeho délku. Pokud je zadaná hodnota větší než aktuální kapacita a datový proud je možné změnit velikost, kapacita se zvýší a aktuální pozice v rámci datového proudu se nezmění. Pokud se délka zvětší, obsah datového proudu mezi starou a novou délkou se inicializuje na nuly.

Poznámka

Aby MemoryStream tato metoda fungovala, musí instance podporovat psaní. CanWrite Pomocí vlastnosti určete, zda aktuální instance podporuje zápis. Další informace najdete v tématu CanWrite.

Platí pro

Viz také