MemoryStream.SetLength(Int64) 方法

定義

將目前資料流的長度設定為指定的數值。

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

參數

value
Int64

要設定長度的數值。

例外狀況

目前的資料流不是可調整大小的,並且 value 大於目前的容量。

-或-

目前的資料流不支援寫入。

value 為負數或大於 的最大長度 ,其中最大長度 MemoryStream為 (Int32.MaxValue - origin) ,而且 origin 是數據流啟動所在基礎緩衝區的索引。

備註

這個方法會覆寫 SetLength

如果指定的值小於數據流目前的長度,則會截斷數據流。 如果在截斷數據流內的目前位置超過數據流結尾之後,ReadByte方法會傳回 -1,Read方法會將零個字節讀入提供的位元組陣列,而且WriteWriteByte方法會在數據流結尾附加指定的位元組,並增加其長度。 如果指定的值大於目前的容量,而且數據流可重設大小,則會增加容量,而且數據流中的目前位置不會變更。 如果長度增加,則舊長度和新長度之間的數據流內容會初始化為零。

注意

MemoryStream實例必須支援撰寫這個方法才能運作。 CanWrite使用屬性來判斷目前的實例是否支援寫入。 如需詳細資訊,請參閱 CanWrite

適用於

另請參閱