SerialPort.Read 方法

定义

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

指定的端口未打开。

offsetcount 参数超出了所传递的 buffer 的有效区域。 offsetcount 小于零。

offset 加上 count 大于 buffer 的长度。

没有可以读取的字节。

注解

如果需要在读取文本和从流中读取二进制数据之间切换,请选择一个协议来仔细定义文本和二进制数据之间的边界,例如手动读取字节和解码数据。

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

当读取的字节数等于count时,方法Read不会阻止其他操作,但串行端口上仍有可用的未读字节。

适用于

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 大于输入缓冲区中的字符数,则读取较少的字符。

返回

读取的字符数。

例外

offset 加上 count 大于缓冲区的长度。

- 或 -

count 为 1 并且缓冲区中有一个代理项字符。

传递的 buffernull

offsetcount 参数超出了所传递的 buffer 的有效区域。 offsetcount 小于零。

指定的端口未打开。

没有可以读取的字符。

注解

使用此方法从串行端口读取字符。

如果需要在读取文本和从流中读取二进制数据之间切换,请选择一个协议来仔细定义文本和二进制数据之间的边界,例如手动读取字节和解码数据。

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

当读取的字节数等于count时,方法Read不会阻止其他操作,但串行端口上仍有可用的未读字节。

适用于