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 類別。

適用於