MemoryStream.SetLength(Int64) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將目前串流的長度設定為指定的值。
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 為負值
-或-
在.NET 11及以後版本中,value 大於 Array.MaxLength。
-或-
在.NET 10及更早版本中,value 大於 MemoryStream 的最大長度,其中最大長度為 (Int32.MaxValue - origin),origin 是串流起始的底層緩衝區的索引。
備註
這個方法會覆寫 SetLength。
若指定值小於串流目前長度,則串流會被截斷。 如果截斷後,串流中目前的位置已超過串流的末端,方法ReadByte會回傳 -1,方法Read會將零位元組讀入所提供的位元組陣列,且WriteWriteByte方法會在串流末端附加指定的位元組,從而增加串流長度。 若指定值大於當前容量且溪流可調整大小,容量會增加,且溪流中當前位置不變。 若長度增加,舊長度與新長度之間的串流內容會初始化為零。
Note
MemoryStream此方法必須支援寫入。 利用該 CanWrite 屬性判斷目前實例是否支援寫入。 如需詳細資訊,請參閱 CanWrite。