SerialPort.Read Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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.