MemoryStream.Read Methode

Definition

Überlädt

Name Beschreibung
Read(Span<Byte>)

Liest eine Abfolge von Bytes aus dem aktuellen Speicherdatenstrom und wechselt die Position innerhalb des Speicherstroms um die Anzahl der gelesenen Bytes.

Read(Byte[], Int32, Int32)

Liest einen Byteblock aus dem aktuellen Datenstrom und schreibt die Daten in einen Puffer.

Read(Span<Byte>)

Quelle:
MemoryStream.cs
Quelle:
MemoryStream.cs
Quelle:
MemoryStream.cs
Quelle:
MemoryStream.cs
Quelle:
MemoryStream.cs

Liest eine Abfolge von Bytes aus dem aktuellen Speicherdatenstrom und wechselt die Position innerhalb des Speicherstroms um die Anzahl der gelesenen Bytes.

public:
 override int Read(Span<System::Byte> buffer);
public:
 override int Read(Span<System::Byte> destination);
public override int Read(Span<byte> buffer);
public override int Read(Span<byte> destination);
override this.Read : Span<byte> -> int
override this.Read : Span<byte> -> int
Public Overrides Function Read (buffer As Span(Of Byte)) As Integer
Public Overrides Function Read (destination As Span(Of Byte)) As Integer

Parameter

destinationbuffer
Span<Byte>

Ein Speicherbereich. Wenn diese Methode zurückgegeben wird, werden die Inhalte dieser Spanne durch die Bytes ersetzt, die aus der aktuellen Speicherstreamquelle gelesen werden.

Gibt zurück

Die Gesamtanzahl der in den Puffer gelesenen Bytes. Dies kann kleiner als die Anzahl der im Puffer zugewiesenen Bytes sein, wenn viele Bytes derzeit nicht verfügbar sind, oder Null (0), wenn das Ende des Speicherdatenstroms erreicht wurde.

Gilt für:

Read(Byte[], Int32, Int32)

Quelle:
MemoryStream.cs
Quelle:
MemoryStream.cs
Quelle:
MemoryStream.cs
Quelle:
MemoryStream.cs
Quelle:
MemoryStream.cs

Liest einen Byteblock aus dem aktuellen Datenstrom und schreibt die Daten in einen Puffer.

public:
 override int Read(cli::array <System::Byte> ^ buffer, int offset, int count);
public override int Read(byte[] buffer, int offset, int count);
override this.Read : byte[] * int * int -> int
Public Overrides Function Read (buffer As Byte(), offset As Integer, count As Integer) As Integer

Parameter

buffer
Byte[]

Wenn diese Methode zurückgegeben wird, enthält das angegebene Bytearray mit den Werten zwischen offset und (offset + count - 1), die durch die zeichen ersetzt werden, die aus dem aktuellen Datenstrom gelesen werden.

offset
Int32

Der nullbasierte Byte-Offset, in buffer dem mit dem Speichern von Daten aus dem aktuellen Datenstrom begonnen werden soll.

count
Int32

Die maximale Anzahl der zu lesenden Bytes.

Gibt zurück

Die Gesamtanzahl der in den Puffer geschriebenen Bytes. Dies kann kleiner als die Anzahl der angeforderten Bytes sein, wenn diese Anzahl von Bytes derzeit nicht verfügbar ist, oder null, wenn das Ende des Datenstroms erreicht ist, bevor Bytes gelesen werden.

Ausnahmen

buffer ist null.

offset oder count ist negativ.

offset Subtrahiert von der Pufferlänge ist kleiner als count.

Die aktuelle Streaminstanz wird geschlossen.

Beispiele

Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die MemoryStream Klasse bereitgestellt wird.

// Read the first 20 bytes from the stream.
byteArray = new byte[memStream.Length];
count = memStream.Read(byteArray, 0, 20);
' Read the first 20 bytes from the stream.
byteArray = _
    New Byte(CType(memStream.Length, Integer)){}
count = memStream.Read(byteArray, 0, 20)

Hinweise

Diese Methode überschreibt Read.

Der offset Parameter gibt den Offset des ersten Bytes an, in buffer das Daten aus dem aktuellen Datenstrom geschrieben werden. Der count Parameter gibt die maximale Anzahl von Bytes an, die aus dem aktuellen Datenstrom gelesen werden sollen. Der zurückgegebene Wert ist die tatsächliche Anzahl der gelesenen Bytes oder Null, wenn das Ende des Datenstroms erreicht ist.

Wenn der Lesevorgang erfolgreich ist, wechselt die aktuelle Position innerhalb des Datenstroms um die Anzahl der gelesenen Bytes. Wenn eine Ausnahme auftritt, bleibt die aktuelle Position innerhalb des Datenstroms unverändert.

Die Read Methode gibt nur null zurück, wenn das Ende des Datenstroms erreicht ist. In allen anderen Fällen Read wird vor der Rückgabe immer mindestens ein Byte aus dem Datenstrom gelesen. Wenn bei einem Aufruf Readvon keine Daten aus dem Datenstrom verfügbar sind, gibt die Read Methode null zurück (das Ende des Datenstroms wird automatisch erreicht). Eine Implementierung kann weniger Bytes zurückgeben als angefordert, auch wenn das Ende des Datenstroms nicht erreicht wurde.

Wird zum Lesen primitiver Datentypen verwendet BinaryReader .

Vorsicht

Wenn das im buffer Parameter angegebene Bytearray der zugrunde liegende Puffer ist, der von der GetBuffer Methode zurückgegeben wird, werden die Arrayinhalte überschrieben, und es wird keine Ausnahme ausgelöst.

Weitere Informationen

Gilt für: