MemoryStream.SetLength(Int64) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Legt die Länge des aktuellen Streams 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
Der Wert, auf den die Länge festgelegt werden soll.
Ausnahmen
Die Größe des aktuellen Streams kann nicht geändert werden, und value
übersteigt die aktuelle Kapazität.
- oder -
Der aktuelle Stream unterstützt keine Schreibvorgänge.
value
ist negativ oder größer als die maximale Länge von MemoryStream, wobei die maximale Länge (Int32.MaxValue - origin
) ist, und origin
ist der Index in den zugrunde liegenden Puffer, mit dem der Stream beginnt.
Hinweise
Diese Methode überschreibt SetLength.
Wenn der angegebene Wert kleiner als die aktuelle Länge des Datenstroms ist, wird der Stream abgeschnitten. Wenn nach dem Abschneiden die aktuelle Position innerhalb des Datenstroms am Ende des Datenstroms liegt, gibt die ReadByte -1-Methode zurück, die Read -Methode liest null Bytes in das bereitgestellte Bytearray, und Write methoden WriteByte fügen angegebene Bytes am Ende des Datenstroms an, wodurch die Länge erhöht wird. Wenn der angegebene Wert größer als die aktuelle Kapazität ist und der Stream veränderlich ist, wird die Kapazität erhöht, und die aktuelle Position im Stream bleibt unverändert. Wenn die Länge erhöht wird, wird der Inhalt des Datenstroms zwischen der alten und der neuen Länge auf Nullen initialisiert.
Hinweis
Ein MemoryStream instance muss das Schreiben unterstützen, damit diese Methode funktioniert. Verwenden Sie die CanWrite -Eigenschaft, um zu bestimmen, ob die aktuelle instance das Schreiben unterstützt. Weitere Informationen finden Sie unter CanWrite.