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