次の方法で共有


MemoryStream.GetBuffer メソッド

定義

このストリームの作成元の符号なしバイトの配列を返します。

public:
 virtual cli::array <System::Byte> ^ GetBuffer();
public virtual byte[] GetBuffer ();
abstract member GetBuffer : unit -> byte[]
override this.GetBuffer : unit -> byte[]
Public Overridable Function GetBuffer () As Byte()

戻り値

Byte[]

このストリームの作成に使用したバイト配列。または、現在のインスタンスを構築するときに MemoryStream コンストラクターにバイト配列が提供されなかった場合は、基になる配列。

例外

パブリックに参照できるバッファーを持つ MemoryStream インスタンスが作成されませんでした。

注釈

バッファーには、未使用の可能性がある割り当てられたバイトが含まれていることに注意してください。 たとえば、文字列 "test" が オブジェクトに書き込 MemoryStream まれる場合、返 GetBuffer されるバッファーの長さは 4 ではなく 256 で、252 バイトは使用されません。 バッファー内のデータのみを取得するには、 メソッドを ToArray 使用します。ただし、 ToArray メモリ内にデータのコピーを作成します。

バッファーには を指定 nullすることもできます。

パブリックに表示されるバッファーをMemoryStream使用してインスタンスを作成するには、または を使用MemoryStreamMemoryStream(Byte[], Int32, Int32, Boolean, Boolean)しますMemoryStream(Int32)。 現在のストリームのサイズが変更可能な場合、基になるバイト配列が呼び出し間でサイズ変更された場合、このメソッドの 2 つの呼び出しは同じ配列を返しません。 詳細については、「Capacity」を参照してください。

注意

このメソッドは、メモリ ストリームが閉じられたときに機能します。

適用対象

こちらもご覧ください