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

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.

Platí pro

Viz také