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

適用於

另請參閱