SerialPort.Read Methode

Definitie

Leest uit de SerialPort invoerbuffer.

Overloads

Name Description
Read(Byte[], Int32, Int32)

Leest een aantal bytes uit de SerialPort invoerbuffer en schrijft deze bytes naar een bytematrix op de opgegeven offset.

Read(Char[], Int32, Int32)

Leest een aantal tekens uit de SerialPort invoerbuffer en schrijft deze in een matrix met tekens op een bepaalde offset.

Read(Byte[], Int32, Int32)

Leest een aantal bytes uit de SerialPort invoerbuffer en schrijft deze bytes naar een bytematrix op de opgegeven offset.

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

Parameters

buffer
Byte[]

De bytematrix waar de invoer naar moet worden geschreven.

offset
Int32

De verschuiving buffer waarin de bytes moeten worden geschreven.

count
Int32

Het maximum aantal bytes dat moet worden gelezen. Er worden minder bytes gelezen als count deze groter is dan het aantal bytes in de invoerbuffer.

Retouren

Het aantal gelezen bytes.

Uitzonderingen

De doorgegeven buffer is null.

De opgegeven poort is niet geopend.

De offset of count parameters bevinden zich buiten een geldig gebied van de buffer doorgegeven. count Of offset is kleiner dan nul.

offset plus count is groter dan de lengte van de buffer.

Er zijn geen bytes beschikbaar om te lezen.

Opmerkingen

Als het nodig is om te schakelen tussen het lezen van tekst en het lezen van binaire gegevens uit de stroom, selecteert u een protocol dat de grens tussen tekst en binaire gegevens zorgvuldig definieert, zoals het handmatig lezen van bytes en het decoderen van de gegevens.

Omdat de SerialPort klasse gegevens buffert en de stroom in de BaseStream eigenschap niet, kunnen de twee conflicteren over hoeveel bytes er beschikbaar zijn om te lezen. De BytesToRead eigenschap kan aangeven dat er bytes zijn om te lezen, maar deze bytes zijn mogelijk niet toegankelijk voor de stream in de BaseStream eigenschap omdat ze zijn gebufferd naar de SerialPort klasse.

De Read methode blokkeert geen andere bewerkingen wanneer het aantal bytes gelijk is aan count lezen, maar er nog steeds ongelezen bytes beschikbaar zijn op de seriële poort.

Van toepassing op

Read(Char[], Int32, Int32)

Leest een aantal tekens uit de SerialPort invoerbuffer en schrijft deze in een matrix met tekens op een bepaalde offset.

public:
 int Read(cli::array <char> ^ buffer, int offset, int count);
public int Read(char[] buffer, int offset, int count);
member this.Read : char[] * int * int -> int
Public Function Read (buffer As Char(), offset As Integer, count As Integer) As Integer

Parameters

buffer
Char[]

De tekenmatrix waar de invoer naar moet worden geschreven.

offset
Int32

De verschuiving buffer waarin de tekens moeten worden geschreven.

count
Int32

Het maximum aantal tekens dat moet worden gelezen. Er worden minder tekens gelezen als count deze groter is dan het aantal tekens in de invoerbuffer.

Retouren

Het aantal tekens dat wordt gelezen.

Uitzonderingen

offset plus count is groter dan de lengte van de buffer.

– of –

count is 1 en er is een surrogaatteken in de buffer.

De buffer doorgegeven is null.

De offset of count parameters bevinden zich buiten een geldig gebied van de buffer doorgegeven. count Of offset is kleiner dan nul.

De opgegeven poort is niet geopend.

Er waren geen tekens beschikbaar om te lezen.

Opmerkingen

Gebruik deze methode voor het lezen van tekens uit de seriële poort.

Als het nodig is om te schakelen tussen het lezen van tekst en het lezen van binaire gegevens uit de stroom, selecteert u een protocol dat de grens tussen tekst en binaire gegevens zorgvuldig definieert, zoals het handmatig lezen van bytes en het decoderen van de gegevens.

Omdat de SerialPort klasse gegevens buffert en de stroom in de BaseStream eigenschap niet, kunnen de twee conflicteren over het aantal tekens dat beschikbaar is om te lezen. De BytesToRead eigenschap kan aangeven dat er tekens zijn die moeten worden gelezen, maar deze tekens zijn mogelijk niet toegankelijk voor de stroom in de BaseStream eigenschap omdat ze zijn gebufferd naar de SerialPort klasse.

De Read methode blokkeert geen andere bewerkingen wanneer het aantal bytes gelijk is aan count lezen, maar er nog steeds ongelezen bytes beschikbaar zijn op de seriële poort.

Van toepassing op