SerialPort.Read Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Выполняет чтение из входного буфера SerialPort.
Перегрузки
Read(Byte[], Int32, Int32) |
Считывает из входного буфера SerialPort определенное число байтов и записывает их в байтовый массив, начиная с указанной позиции. |
Read(Char[], Int32, Int32) |
Считывает из входного буфера SerialPort определенное число символов и записывает их в символьный массив, начиная с указанной позиции. |
Read(Byte[], Int32, Int32)
- Исходный код:
- 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 определенное число символов и записывает их в символьный массив, начиная с указанной позиции.
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 и в буфере имеется символ-суррогат.
В качестве buffer
передано null
.
Значение параметра offset
или count
выходит за пределы указанного массива buffer
. Значение параметра offset
или count
меньше нуля.
Указанный порт не открыт.
Отсутствуют символы, доступные для чтения.
Комментарии
Используйте этот метод для чтения символов из последовательного порта.
Если необходимо переключаться между чтением текста и двоичными данными из потока, выберите протокол, который тщательно определяет границу между текстовыми и двоичными данными, например чтение байтов вручную и декодирование данных.
SerialPort Так как класс буферизует данные, а поток, содержащийся в BaseStream свойстве, нет, они могут конфликтовать по поводу количества символов, доступных для чтения. Свойство BytesToRead может указывать на наличие считываемых символов, но эти символы могут быть недоступны для потока, содержащегося в свойстве BaseStream , так как они были буферированы в SerialPort класс .
Метод Read не блокирует другие операции, если число прочитанных байтов count
равно, но на последовательном порту по-прежнему доступны непрочитанные байты.