MemoryStream.GetBuffer 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回用於建立這個資料流之不帶正負號位元組的陣列。
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()
傳回
位元組陣列 (建立這個資料流的來源) 或基礎陣列 (如果沒有在目前執行個體的建構期間將位元組陣列提供給 MemoryStream 建構函式)。
例外狀況
MemoryStream 執行個體沒有使用公開可見的緩衝區來建立。
備註
請注意,緩衝區包含可能未使用的已配置位元組。 例如,如果字串 「test」 寫入 MemoryStream 物件中,則從 GetBuffer 傳回的緩衝區長度是 256,而不是 4,未使用 252 個字節。 若要只取得緩衝區中的數據,請使用 ToArray 方法;不過, ToArray 會在記憶體中建立數據的複本。
緩衝區也可以是 null。
若要建立 MemoryStream 具有公開可見緩衝區的實例,請使用 MemoryStream、 MemoryStream(Byte[], Int32, Int32, Boolean, Boolean)或 MemoryStream(Int32)。 如果目前的數據流可重設大小,則呼叫這個方法的兩個呼叫不會傳回相同的數位,如果基礎位元組陣列在呼叫之間重設大小。 如需詳細資訊,請參閱 Capacity。
注意
這個方法可在記憶體數據流關閉時運作。