SerialPort.Read 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从 SerialPort 输入缓冲区中读取。
重载
Read(Byte[], Int32, Int32) |
从 SerialPort 输入缓冲区读取一些字节并将那些字节写入字节数组中指定的偏移量处。 |
Read(Char[], Int32, Int32) |
从 SerialPort 输入缓冲区中读取一些字符,然后将这些字符写入字符数组中指定的偏移量处。 |
Read(Byte[], Int32, Int32)
- Source:
- SerialPort.cs
- Source:
- SerialPort.cs
- Source:
- 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
大于输入缓冲区中的字节数,则读取较少的字节。
返回
读取的字节数。
例外
传递的 buffer 为 null
。
指定的端口未打开。
offset
或 count
参数超出了所传递的 buffer
的有效区域。 offset
或 count
小于零。
offset
加上 count
大于 buffer
的长度。
没有可以读取的字节。
注解
如果需要在读取文本和从流中读取二进制数据之间进行切换,请选择一个协议来仔细定义文本与二进制数据之间的边界,例如手动读取字节和解码数据。
SerialPort由于 类缓冲数据,而 属性中包含的BaseStream流不缓冲,因此两者可能会在有多少字节可供读取方面发生冲突。 属性 BytesToRead 可以指示存在要读取的字节,但属性中包含的 BaseStream 流可能无法访问这些字节,因为它们已缓冲到 SerialPort 类。
当 Read 读取的字节数等于 count
时,方法不会阻止其他操作,但串行端口上仍有可用的未读字节。
适用于
Read(Char[], Int32, Int32)
- Source:
- SerialPort.cs
- Source:
- SerialPort.cs
- Source:
- 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
大于输入缓冲区中的字符数,则读取较少的字符。
返回
读取的字符数。
例外
传递的 buffer
为 null
。
offset
或 count
参数超出了所传递的 buffer
的有效区域。 offset
或 count
小于零。
指定的端口未打开。
没有可以读取的字符。
注解
使用此方法从串行端口读取字符。
如果需要在读取文本和从流中读取二进制数据之间进行切换,请选择一个协议来仔细定义文本与二进制数据之间的边界,例如手动读取字节和解码数据。
SerialPort由于 类缓冲数据,而 属性中包含的BaseStream流不缓冲,因此这两者可能会因可读取的字符数而发生冲突。 属性 BytesToRead 可以指示存在要读取的字符,但属性中包含的 BaseStream 流可能无法访问这些字符,因为它们已缓冲到 SerialPort 类。
当 Read 读取的字节数等于 count
时,方法不会阻止其他操作,但串行端口上仍有可用的未读字节。