SerialPort.ReadByte 方法

定义

SerialPort 输入缓冲区中同步读取一个字节。

public:
 int ReadByte();
public int ReadByte ();
member this.ReadByte : unit -> int
Public Function ReadByte () As Integer

返回

强制转换为 Int32 的字节;或者,如果已读取到流的末尾,则为 -1。

例外

指定的端口未打开。

该操作未在超时时间到期之前完成。

- 或 -

未读取任何字节。

注解

此方法读取一个字节。

同时使用 ReadByteReadChar 时要小心。 在读取字节和读取字符之间切换可能会导致读取额外数据和/或其他意外行为。 如果需要在读取文本和从流中读取二进制数据之间切换,请选择一个协议来仔细定义文本和二进制数据之间的边界,例如手动读取字节和解码数据。

注意

SerialPort由于 类缓冲数据,而 属性中包含的BaseStream流不缓冲数据,因此两者在可用于读取的字节数方面可能会发生冲突。 属性 BytesToRead 可以指示存在要读取的字节,但属性中包含的 BaseStream 流可能无法访问这些字节,因为它们已缓冲到 SerialPort 类。

适用于