MemoryStream.SetLength(Int64) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.