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 , но на последовательном порту по-прежнему доступны непрочитанные байты.