Partilhar via


SerialPort.Read Método

Definição

Lê no buffer de entrada do SerialPort.

Sobrecargas

Read(Byte[], Int32, Int32)

Lê um número de bytes por meio do buffer de entrada SerialPort e grava esses bytes em uma matriz de bytes no deslocamento especificado.

Read(Char[], Int32, Int32)

Lê um número de caracteres do buffer de entrada SerialPort e grava-os em uma matriz de caracteres em um deslocamento especificado.

Read(Byte[], Int32, Int32)

Origem:
SerialPort.cs
Origem:
SerialPort.cs
Origem:
SerialPort.cs

Lê um número de bytes por meio do buffer de entrada SerialPort e grava esses bytes em uma matriz de bytes no deslocamento especificado.

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

Parâmetros

buffer
Byte[]

A matriz de bytes na qual a entrada será gravada.

offset
Int32

O deslocamento em buffer no qual os bytes são gravados.

count
Int32

O número máximo de bytes a serem lidos. Um número menor de bytes será lido se count for maior que o número de caracteres no buffer de entrada.

Retornos

O número de bytes lidos.

Exceções

O buffer passado é null.

A porta especificada não está aberta.

Os parâmetros offset ou count estão fora de uma região válida do buffer que está sendo passado. offset ou count é menor que zero.

A soma de offset e count é maior que o tamanho do buffer.

Nenhum byte estava disponível para leitura.

Comentários

Se for necessário alternar entre a leitura de texto e a leitura de dados binários do fluxo, selecione um protocolo que defina cuidadosamente o limite entre o texto e os dados binários, como ler manualmente bytes e decodificar os dados.

Como a SerialPort classe armazena dados em buffer e o fluxo contido na propriedade não, os dois podem entrar em BaseStream conflito sobre quantos bytes estão disponíveis para leitura. A BytesToRead propriedade pode indicar que há bytes a serem lidos, mas esses bytes podem não estar acessíveis para o fluxo contido na propriedade porque foram armazenados em BaseStream buffer na SerialPort classe .

O Read método não bloqueia outras operações quando o número de bytes lidos count é igual, mas ainda há bytes não lidos disponíveis na porta serial.

Aplica-se a

Read(Char[], Int32, Int32)

Origem:
SerialPort.cs
Origem:
SerialPort.cs
Origem:
SerialPort.cs

Lê um número de caracteres do buffer de entrada SerialPort e grava-os em uma matriz de caracteres em um deslocamento especificado.

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

Parâmetros

buffer
Char[]

A matriz de caracteres na qual a entrada será gravada.

offset
Int32

O deslocamento em buffer no qual os caracteres devem ser gravados.

count
Int32

O número máximo de caracteres a serem lidos. Um número menor de caracteres será lido se count for maior que o número de caracteres no buffer de entrada.

Retornos

O número de caracteres lidos.

Exceções

A soma de offset e count é maior que o tamanho do buffer.

- ou -

count é 1, e há um caractere alternativo no buffer.

O buffer passado é null.

Os parâmetros offset ou count estão fora de uma região válida do buffer que está sendo passado. offset ou count é menor que zero.

A porta especificada não está aberta.

Nenhum caractere estava disponível para leitura.

Comentários

Use esse método para ler caracteres da porta serial.

Se for necessário alternar entre a leitura de texto e a leitura de dados binários do fluxo, selecione um protocolo que defina cuidadosamente o limite entre o texto e os dados binários, como ler manualmente bytes e decodificar os dados.

Como a SerialPort classe armazena dados em buffer e o fluxo contido na propriedade não, os dois podem entrar em BaseStream conflito sobre quantos caracteres estão disponíveis para leitura. A BytesToRead propriedade pode indicar que há caracteres a serem lidos, mas esses caracteres podem não estar acessíveis para o fluxo contido na propriedade porque foram armazenados em BaseStream buffer na SerialPort classe .

O Read método não bloqueia outras operações quando o número de bytes lidos count é igual, mas ainda há bytes não lidos disponíveis na porta serial.

Aplica-se a