Condividi tramite


SerialPort.Read Metodo

Definizione

Legge i dati dal buffer di input SerialPort.

Overload

Read(Byte[], Int32, Int32)

Legge un numero di byte dal buffer di input SerialPort e li scrive in una matrice di byte con l'offset specificato.

Read(Char[], Int32, Int32)

Legge un numero di caratteri dal buffer di input SerialPort e li scrive in una matrice di caratteri in corrispondenza di un offset specificato.

Read(Byte[], Int32, Int32)

Origine:
SerialPort.cs
Origine:
SerialPort.cs
Origine:
SerialPort.cs

Legge un numero di byte dal buffer di input SerialPort e li scrive in una matrice di byte con l'offset specificato.

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

Parametri

buffer
Byte[]

Matrice di byte in cui scrivere l'input.

offset
Int32

Offset in buffer in cui scrivere i byte.

count
Int32

Numero massimo di byte da leggere. Se count è maggiore del numero di byte nel buffer di input, vengono letti meno byte.

Restituisce

Numero di byte letti.

Eccezioni

Il buffer passato è null.

La porta specificata non è aperta.

Il parametro offset o count si trova al di fuori dell'area di validità del parametro buffer passato. offset o count è minore di zero.

offset più count è maggiore della lunghezza del parametro buffer.

Non sono disponibili byte per la lettura.

Commenti

Se è necessario passare dalla lettura del testo alla lettura dei dati binari dal flusso, selezionare un protocollo che definisce attentamente il limite tra dati di testo e binari, ad esempio la lettura manuale dei byte e la decodifica dei dati.

Poiché la classe memorizza nel SerialPort buffer i dati e il flusso contenuto nella BaseStream proprietà non lo fa, i due potrebbero essere in conflitto sul numero di byte disponibili per la lettura. La BytesToRead proprietà può indicare che sono presenti byte da leggere, ma questi byte potrebbero non essere accessibili al flusso contenuto nella proprietà perché sono stati memorizzati nel BaseStream buffer nella SerialPort classe .

Il Read metodo non blocca altre operazioni quando il numero di byte letti è uguale count , ma nella porta seriale sono ancora disponibili byte non letti.

Si applica a

Read(Char[], Int32, Int32)

Origine:
SerialPort.cs
Origine:
SerialPort.cs
Origine:
SerialPort.cs

Legge un numero di caratteri dal buffer di input SerialPort e li scrive in una matrice di caratteri in corrispondenza di un offset specificato.

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

Parametri

buffer
Char[]

Matrice di caratteri in cui scrivere l'input.

offset
Int32

Offset in buffer in cui scrivere i caratteri.

count
Int32

Numero massimo di caratteri da leggere. Se count è maggiore del numero di caratteri nel buffer di input, vengono letti meno caratteri.

Restituisce

Numero di caratteri letti.

Eccezioni

offset più count è maggiore della lunghezza del buffer.

-oppure-

count è 1 ed è presente un carattere surrogato nel buffer.

Il valore di buffer passato è null.

Il parametro offset o count si trova al di fuori dell'area di validità del parametro buffer passato. offset o count è minore di zero.

La porta specificata non è aperta.

Non sono disponibili caratteri per la lettura.

Commenti

Utilizzare questo metodo per leggere i caratteri dalla porta seriale.

Se è necessario passare dalla lettura del testo alla lettura dei dati binari dal flusso, selezionare un protocollo che definisce attentamente il limite tra dati di testo e binari, ad esempio la lettura manuale dei byte e la decodifica dei dati.

Poiché la classe memorizza nel SerialPort buffer i dati e il flusso contenuto nella BaseStream proprietà non, i due potrebbero essere in conflitto sul numero di caratteri disponibili per la lettura. La BytesToRead proprietà può indicare che sono presenti caratteri da leggere, ma questi caratteri potrebbero non essere accessibili al flusso contenuto nella proprietà perché sono stati memorizzati nel BaseStream buffer nella SerialPort classe .

Il Read metodo non blocca altre operazioni quando il numero di byte letti è uguale count , ma nella porta seriale sono ancora disponibili byte non letti.

Si applica a