SerialPort.Read Methode

Definition

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 Datenstrom 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 möglicherweise ist der Zugriff auf diese Bytes für den in der BaseStream Eigenschaft enthaltenen Stream nicht möglich, 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 Datenstrom 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 Zeichen zu lesen 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.

Gilt für: