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

注意

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

適用対象

こちらもご覧ください