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 メソッドは指定されたバイト配列に 0 バイトを読み込み、 Write メソッドはストリームの末尾に指定されたバイトを追加して WriteByte 長さを増やします。 指定した値が現在の容量より大きく、ストリームのサイズが変更可能な場合、容量は増加し、ストリーム内の現在の位置は変更されません。 長さが大きくなると、古い長さと新しい長さの間のストリームの内容が 0 に初期化されます。

注意

インスタンスは、 MemoryStream このメソッドを機能させるために書き込みをサポートする必要があります。 プロパティを使用して、 CanWrite 現在のインスタンスが書き込みをサポートしているかどうかを判断します。 詳細については、「CanWrite」を参照してください。

適用対象

こちらもご覧ください