SerialPort.Read Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Liest aus dem SerialPort-Eingabepuffer.
Überlädt
Read(Byte[], Int32, Int32) |
Liest eine Anzahl von Bytes aus dem SerialPort-Eingabepuffer und schreibt diese Bytes am angegebenen Offset in ein Bytearray. |
Read(Char[], Int32, Int32) |
Liest eine Anzahl von Zeichen aus dem SerialPort-Eingabepuffer und schreibt diese am angegebenen Offset in ein Zeichenarray. |
Read(Byte[], Int32, Int32)
- Quelle:
- SerialPort.cs
- Quelle:
- SerialPort.cs
- Quelle:
- SerialPort.cs
Liest eine Anzahl von Bytes aus dem SerialPort-Eingabepuffer und schreibt diese Bytes am angegebenen Offset in ein Bytearray.
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
Parameter
- buffer
- Byte[]
Das Bytearray, in das die Eingabe geschrieben werden soll.
- offset
- Int32
Der Offset im buffer
, mit dem die Bytes geschrieben werden.
- count
- Int32
Die maximale Anzahl der zu lesenden Bytes. Es werden weniger Bytes gelesen, wenn count
größer ist als die Anzahl der Bytes im Eingabepuffer.
Gibt zurück
Die Anzahl der gelesenen Bytes.
Ausnahmen
Der übergebene Puffer ist null
.
Der angegebene Anschluss ist nicht offen.
Der offset
-Parameter oder der count
-Parameter liegt außerhalb eines gültigen Bereichs des übergebenen buffer
. Entweder offset
oder count
ist kleiner als 0 (null).
Die Summe von offset
und count
ist größer als die Länge von buffer
.
Es waren keine Bytes zum Lesen verfügbar.
Hinweise
Wenn zwischen dem Lesen von Text und dem Lesen von Binärdaten aus dem Stream gewechselt werden muss, wählen Sie ein Protokoll aus, das die Grenze zwischen Text- und Binärdaten sorgfältig definiert, z. B. manuelles Lesen von Bytes und Decodieren der Daten.
Da die SerialPort -Klasse Daten puffert und der in der BaseStream -Eigenschaft enthaltene Stream nicht, können die beiden in Konflikt stehen, wie viele Bytes zum Lesen verfügbar sind. Die BytesToRead -Eigenschaft kann angeben, dass Zu lesende Bytes vorhanden sind, aber diese Bytes sind möglicherweise nicht für den in der BaseStream -Eigenschaft enthaltenen Stream zugänglich, da sie in der SerialPort -Klasse gepuffert wurden.
Die Read -Methode blockiert keine anderen Vorgänge, wenn die Anzahl der gelesenen count
Bytes gleich ist, aber weiterhin ungelesene Bytes am seriellen Port verfügbar sind.
Gilt für:
Read(Char[], Int32, Int32)
- Quelle:
- SerialPort.cs
- Quelle:
- SerialPort.cs
- Quelle:
- SerialPort.cs
Liest eine Anzahl von Zeichen aus dem SerialPort-Eingabepuffer und schreibt diese am angegebenen Offset in ein Zeichenarray.
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
Parameter
- buffer
- Char[]
Das Zeichenarray, in das die Eingabe geschrieben werden soll.
- offset
- Int32
Der Offset im buffer
, mit dem die Zeichen geschrieben werden.
- count
- Int32
Die maximale Anzahl der zu lesenden Zeichen. Es werden weniger Zeichen gelesen, wenn count
größer ist als die Anzahl der Zeichen im Eingabepuffer.
Gibt zurück
Die Anzahl von gelesenen Zeichen.
Ausnahmen
Die Summe von offset
und count
ist größer als die Länge des Puffers.
- oder -
count
ist 1, und es befindet sich ein Ersatzzeichenzeichen im Puffer.
Der übergebene buffer
ist null
.
Der offset
-Parameter oder der count
-Parameter liegt außerhalb eines gültigen Bereichs des übergebenen buffer
. Entweder offset
oder count
ist kleiner als 0 (null).
Der angegebene Anschluss ist nicht offen.
Es waren keine Zeichen zum Lesen verfügbar.
Hinweise
Verwenden Sie diese Methode zum Lesen von Zeichen vom seriellen Port.
Wenn zwischen dem Lesen von Text und dem Lesen von Binärdaten aus dem Stream gewechselt werden muss, wählen Sie ein Protokoll aus, das die Grenze zwischen Text- und Binärdaten sorgfältig definiert, z. B. manuelles Lesen von Bytes und Decodieren der Daten.
Da die SerialPort -Klasse Daten puffert und der in der BaseStream -Eigenschaft enthaltene Stream nicht, können die beiden in Konflikt stehen, wie viele Zeichen zum Lesen verfügbar sind. Die BytesToRead -Eigenschaft kann angeben, dass Zu lesende Zeichen vorhanden sind, aber diese Zeichen sind möglicherweise nicht für den in der BaseStream -Eigenschaft enthaltenen Stream zugänglich, da sie in der SerialPort -Klasse gepuffert wurden.
Die Read -Methode blockiert keine anderen Vorgänge, wenn die Anzahl der gelesenen count
Bytes gleich ist, aber weiterhin ungelesene Bytes am seriellen Port verfügbar sind.