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
Délka, kterou chcete nastavit.
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 zápis.
value je negativní
nebo
V .NET 11 a novějších verzích je value větší než Array.MaxLength.
nebo
Ve .NET 10 a starších verzích value je větší než maximální délka MemoryStream, kde je maximální délka (Int32.MaxValue - origin) a origin je index do 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 po zkrácení aktuální pozice v rámci datového proudu je za koncem datového proudu, ReadByte metoda vrátí -1, Read metoda načte nula bajtů do poskytnuté pole bajtů a Write metody WriteByte připojují zadané bajty na konci datového proudu a zvyšují jeho délku. Pokud je zadaná hodnota větší než aktuální kapacita a datový proud se dá změnit, zvýší se kapacita a aktuální pozice v rámci datového proudu se nezmění. Pokud se délka zvýší, obsah datového proudu mezi starou a novou délkou se inicializuje na nuly.
Note
Aby MemoryStream tato metoda fungovala, musí instance podporovat zápis. CanWrite Pomocí vlastnosti určete, zda aktuální instance podporuje zápis. Další informace najdete v tématu CanWrite.