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

注意

這個方法可在記憶體資料流程關閉時運作。

適用於

另請參閱