MemoryStream.SetLength(Int64) Methode

Definition

Legt die Länge des aktuellen Datenstroms auf den angegebenen Wert fest.

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

Parameter

value
Int64

Die festzulegende Länge.

Ausnahmen

Der aktuelle Datenstrom kann nicht in der Größe geändert werden und value ist größer als die aktuelle Kapazität.

-oder-

Der aktuelle Datenstrom unterstützt das Schreiben nicht.

value ist negativ

-oder-

In .NET 11 und höheren Versionen ist value größer als Array.MaxLength.

-oder-

In .NET 10 und früheren Versionen value ist größer als die maximale Länge des MemoryStream, wobei die maximale Länge (Int32.MaxValue - origin) und origin der Index im zugrunde liegenden Puffer ist, an dem der Datenstrom gestartet wird.

Hinweise

Diese Methode überschreibt SetLength.

Wenn der angegebene Wert kleiner als die aktuelle Länge des Datenstroms ist, wird der Datenstrom abgeschnitten. Wenn nach dem Abschneiden der aktuellen Position innerhalb des Datenstroms das Ende des Datenstroms liegt, gibt die ReadByte Methode -1 zurück, liest die Read Methode null Bytes in das bereitgestellte Bytearray und WriteByteWrite methoden hängen angegebene Bytes am Ende des Datenstroms an und erhöhen die Länge. Wenn der angegebene Wert größer als die aktuelle Kapazität ist und die Größe des Datenstroms geändert werden kann, wird die Kapazität erhöht, und die aktuelle Position innerhalb des Datenstroms ist unverändert. Wenn die Länge erhöht wird, werden die Inhalte des Datenstroms zwischen der alten und der neuen Länge auf Nullen initialisiert.

Note

Eine MemoryStream Instanz muss das Schreiben unterstützen, damit diese Methode funktioniert. Verwenden Sie die CanWrite Eigenschaft, um zu bestimmen, ob die aktuelle Instanz das Schreiben unterstützt. Zusätzliche Informationen finden Sie unter CanWrite.

Gilt für:

Weitere Informationen