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 大於輸入緩衝區的位元組數目,則會讀取較少的位元組。

傳回

讀取的位元組數。

例外狀況

傳遞的 buffer 為 null

指定的連接埠未開啟。

offsetcount 參數超出所傳遞之 buffer 的有效區域以外。 offsetcount 小於零。

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 且緩衝區中有 Surrogate 字元。

傳遞的 buffernull

offsetcount 參數超出所傳遞之 buffer 的有效區域以外。 offsetcount 小於零。

指定的連接埠未開啟。

沒有可讀取的字元。

備註

使用這個方法從序列埠讀取字元。

如果需要在讀取文字和從資料流程讀取二進位資料之間切換,請選取一個通訊協定,以仔細定義文字和二進位資料之間的界限,例如手動讀取位元組和解碼資料。

因為類別 SerialPort 會緩衝資料,而且 屬性中包含的 BaseStream 資料流程沒有,所以這兩者可能會與可供讀取的字元數目衝突。 屬性 BytesToRead 可以指出有要讀取的字元,但這些字元可能無法供 屬性中包含的 BaseStream 資料流程存取,因為它們已緩衝處理至 SerialPort 類別。

Read 讀取相等 count 的位元組數目,但序列埠上仍有未讀取的位元組可用時,此方法不會封鎖其他作業。

適用於