MemoryStream.GetBuffer Methode

Definition

Gibt das Array von nicht signierten Bytes zurück, aus denen dieser Datenstrom 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 dieser Datenstrom erstellt wurde, oder das zugrunde liegende Array, wenn beim Erstellen der aktuellen Instanz kein Bytearray für den MemoryStream Konstruktor 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, beträgt die Länge des von GetBuffer 256 zurückgegebenen Puffers 256, nicht 4, wobei 252 Bytes nicht verwendet werden. 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.

Um eine MemoryStream Instanz mit einem öffentlich sichtbaren Puffer zu erstellen, verwenden MemoryStreamSie , oder MemoryStream(Byte[], Int32, Int32, Boolean, Boolean)MemoryStream(Int32). Wenn die Größe des aktuellen Datenstroms geändert werden kann, geben zwei Aufrufe dieser Methode nicht dasselbe Array zurück, wenn die Größe des zugrunde liegenden Bytearrays zwischen Aufrufen geändert wird. Zusätzliche Informationen finden Sie unter Capacity.

Note

Diese Methode funktioniert, wenn der Speicherdatenstrom geschlossen wird.

Gilt für:

Weitere Informationen