MemoryStream.GetBuffer Methode

Definition

Gibt das Array vorzeichenloser Bytes zurück, aus dem dieser Stream erstellt wurde.

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()

Gibt zurück

Byte[]

Das Bytearray, aus dem der Stream erstellt wurde, oder das zugrunde liegende Array, wenn für den MemoryStream-Konstruktor beim Erstellen der aktuellen Instanz kein Bytearray bereitgestellt wurde.

Ausnahmen

Die MemoryStream-Instanz wurde nicht mit einem öffentlich sichtbaren Puffer erstellt.

Hinweise

Beachten Sie, dass der Puffer zugeordnete Bytes enthält, die möglicherweise nicht verwendet werden. Wenn beispielsweise die Zeichenfolge "test" in das MemoryStream Objekt geschrieben wird, ist die Länge des von GetBuffer 256 zurückgegebenen Puffers, nicht 4, mit 252 Bytes nicht verwendet. Um nur die Daten im Puffer abzurufen, verwenden Sie die ToArray Methode. Erstellt jedoch ToArray eine Kopie der Daten im Arbeitsspeicher.

Der Puffer kann auch sein null.

So erstellen Sie eine Instanz mit einem MemoryStream öffentlich sichtbaren Puffer, verwenden MemoryStreamSie oder MemoryStream(Byte[], Int32, Int32, Boolean, Boolean)MemoryStream(Int32). Wenn der aktuelle Datenstrom geändert werden kann, geben zwei Aufrufe dieser Methode nicht das gleiche Array zurück, wenn das zugrunde liegende Bytearray zwischen Aufrufen geändert wird. Weitere Informationen finden Sie unter Capacity.

Hinweis

Diese Methode funktioniert, wenn der Speicherdatenstrom geschlossen wird.

Gilt für

Siehe auch