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 緩衝區長度為 256,而非 4,且有 252 位元組未使用。 若要只取得緩衝區中的資料,請使用該 ToArray 方法;但會 ToArray 將資料複製到記憶體中。

緩衝區也可以是 null

要建立 MemoryStream 具有公開可見緩衝區的實例,請使用 MemoryStreamMemoryStream(Byte[], Int32, Int32, Boolean, Boolean)、 或 MemoryStream(Int32)。 如果目前的串流是可調整大小的,若底層位元組陣列在兩次呼叫間被調整大小,呼叫此方法時不會回傳相同的陣列。 如需詳細資訊,請參閱 Capacity

Note

此方法在記憶體串流關閉時有效。

適用於

另請參閱