SerialPort.Read Метод

Определение

Считывается из входного буфера SerialPort .

Перегрузки

Имя Описание
Read(Byte[], Int32, Int32)

Считывает количество байтов из входного SerialPort буфера и записывает эти байты в массив байтов по указанному смещение.

Read(Char[], Int32, Int32)

Считывает ряд символов из SerialPort входного буфера и записывает их в массив символов с заданным смещением.

Read(Byte[], Int32, Int32)

Исходный код:
SerialPort.cs
Исходный код:
SerialPort.cs
Исходный код:
SerialPort.cs
Исходный код:
SerialPort.cs

Считывает количество байтов из входного SerialPort буфера и записывает эти байты в массив байтов по указанному смещение.

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

Параметры

buffer
Byte[]

Массив байтов для записи входных данных.

offset
Int32

Смещение, в buffer котором записываются байты.

count
Int32

Максимальное число байтов для чтения. Меньше байтов считываются, если count больше количества байтов во входном буфере.

Возвращаемое значение

Число переданных байтов.

Исключения

Переданный буфер имеет значение null.

Указанный порт не открыт.

offset Параметры count находятся вне допустимой области передаваемого buffer объекта. offset Либо count меньше нуля.

offset плюс count больше длины buffer.

Для чтения не было доступно байтов.

Комментарии

Если необходимо переключиться между чтением текста и чтением двоичных данных из потока, выберите протокол, который тщательно определяет границу между текстовыми и двоичными данными, например вручную считывать байты и декодировать данные.

SerialPort Так как данные буферов класса, а поток, содержащийся в BaseStream свойстве, нет, они могут конфликтовать с количеством байтов, доступных для чтения. Свойство BytesToRead может указывать на наличие байтов для чтения, но эти байты могут быть недоступны для потока, содержащегося в BaseStream свойстве, так как они были буферированы в SerialPort класс.

Метод Read не блокирует другие операции, если число байтов считывается равным count , но на последовательном порту по-прежнему доступны непрочитанные байты.

Применяется к

Read(Char[], Int32, Int32)

Исходный код:
SerialPort.cs
Исходный код:
SerialPort.cs
Исходный код:
SerialPort.cs
Исходный код:
SerialPort.cs

Считывает ряд символов из SerialPort входного буфера и записывает их в массив символов с заданным смещением.

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

Параметры

buffer
Char[]

Массив символов для записи входных данных.

offset
Int32

Смещение, в buffer котором записываются символы.

count
Int32

Максимальное число символов для чтения. Меньше символов считывается, если count больше числа символов в входном буфере.

Возвращаемое значение

Число считываемых символов.

Исключения

offset плюс count больше длины буфера.

–или–

count имеет значение 1, и в буфере есть суррогатный символ.

Передано buffernull.

offset Параметры count находятся вне допустимой области передаваемого buffer объекта. offset Либо count меньше нуля.

Указанный порт не открыт.

Для чтения не было доступны символы.

Комментарии

Используйте этот метод для чтения символов из последовательного порта.

Если необходимо переключиться между чтением текста и чтением двоичных данных из потока, выберите протокол, который тщательно определяет границу между текстовыми и двоичными данными, например вручную считывать байты и декодировать данные.

SerialPort Так как данные класса буферизаются, а поток, содержащийся в BaseStream свойстве, нет, они могут конфликтовать с количеством символов, доступных для чтения. Свойство BytesToRead может указывать на наличие символов для чтения, но эти символы могут быть недоступны для потока, содержащегося в BaseStream свойстве, так как они были буферированы в SerialPort класс.

Метод Read не блокирует другие операции, если число байтов считывается равным count , но на последовательном порту по-прежнему доступны непрочитанные байты.

Применяется к