MemoryStream.Read Methode

Definitie

Overloads

Name Description
Read(Span<Byte>)

Hiermee leest u een reeks bytes uit de huidige geheugenstroom en wordt de positie binnen de geheugenstroom verplaatst door het aantal gelezen bytes.

Read(Byte[], Int32, Int32)

Leest een blok bytes uit de huidige stroom en schrijft de gegevens naar een buffer.

Read(Span<Byte>)

Hiermee leest u een reeks bytes uit de huidige geheugenstroom en wordt de positie binnen de geheugenstroom verplaatst door het aantal gelezen bytes.

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

Parameters

destinationbuffer
Span<Byte>

Een geheugengebied. Wanneer deze methode wordt geretourneerd, wordt de inhoud van deze periode vervangen door de bytes die zijn gelezen uit de huidige bron van de geheugenstroom.

Retouren

Het totale aantal bytes dat in de buffer is gelezen. Dit kan kleiner zijn dan het aantal bytes dat is toegewezen in de buffer als dat aantal bytes momenteel niet beschikbaar is, of nul (0) als het einde van de geheugenstroom is bereikt.

Van toepassing op

Read(Byte[], Int32, Int32)

Leest een blok bytes uit de huidige stroom en schrijft de gegevens naar een buffer.

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

Parameters

buffer
Byte[]

Wanneer deze methode wordt geretourneerd, bevat de opgegeven bytematrix met de waarden tussen offset en (offset + count - 1) vervangen door de tekens die uit de huidige stroom worden gelezen.

offset
Int32

De byte-offset buffer op basis van nul waarin gegevens uit de huidige stroom moeten worden opgeslagen.

count
Int32

Het maximum aantal bytes dat moet worden gelezen.

Retouren

Het totale aantal bytes dat in de buffer is geschreven. Dit kan kleiner zijn dan het aantal aangevraagde bytes als dat aantal bytes momenteel niet beschikbaar is of nul als het einde van de stream wordt bereikt voordat bytes worden gelezen.

Uitzonderingen

buffer is null.

offset of count is negatief.

offset Afgetrokken van de bufferlengte is kleiner dan count.

Het huidige stroomexemplaren is gesloten.

Voorbeelden

Dit codevoorbeeld maakt deel uit van een groter voorbeeld voor de MemoryStream klasse.

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

Opmerkingen

Deze methode overschrijft Read.

De offset parameter geeft de offset van de eerste byte waarin buffer gegevens uit de huidige stroom worden geschreven. De count parameter geeft het maximum aantal bytes dat moet worden gelezen uit de huidige stroom. De geretourneerde waarde is het werkelijke aantal bytes dat wordt gelezen of nul als het einde van de stream is bereikt.

Als de leesbewerking is geslaagd, wordt de huidige positie binnen de stroom vooruit gestegen door het aantal gelezen bytes. Als er een uitzondering optreedt, blijft de huidige positie binnen de stream ongewijzigd.

De Read methode retourneert alleen nul als het einde van de stream is bereikt. In alle andere gevallen Read leest u altijd ten minste één byte uit de stream voordat u terugkeert. Als er geen gegevens uit de stream beschikbaar zijn bij een aanroep naar Read, retourneert de Read methode nul (het einde van de stream wordt automatisch bereikt). Een implementatie is gratis om minder bytes te retourneren dan aangevraagd, zelfs als het einde van de stream niet is bereikt.

Gebruiken BinaryReader voor het lezen van primitieve gegevenstypen.

Caution

Als de bytematrix die is opgegeven in de buffer parameter de onderliggende buffer is die door de GetBuffer methode wordt geretourneerd, wordt de matrixinhoud overschreven en wordt er geen uitzondering gegenereerd.

Zie ook

Van toepassing op