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 メソッドは指定されたバイト配列に 0 バイトを読み取り、 Write メソッドと WriteByte メソッドはストリームの末尾に指定されたバイトを追加し、その長さを増やします。 指定した値が現在の容量より大きく、ストリームのサイズが変更可能な場合、容量は増加し、ストリーム内の現在の位置は変更されません。 長さを増やすと、古い長さと新しい長さの間のストリームの内容が 0 に初期化されます。
Note
MemoryStream インスタンスは、このメソッドが機能するための記述をサポートする必要があります。 CanWrite プロパティを使用して、現在のインスタンスが書き込みをサポートしているかどうかを判断します。 追加情報については、CanWriteを参照してください。