次の方法で共有


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 が入力バッファー内のバイト数よりも大きい場合は、読み取られるバイト数が少なくなります。

戻り値

読み取るバイト数。

例外

渡されたバッファーが null です。

指定したポートが開いていません。

offset パラメーターまたは count パラメーターが、渡される buffer の有効な領域外です。 offset または count のいずれかが 0 より小さい値です。

offsetcount を加算した値が、buffer の長さを超えています。

読み取ることができるバイトがありませんでした。

注釈

テキストの読み取りとストリームからのバイナリ データの読み取りを切り替える必要がある場合は、手動でのバイトの読み取りやデータのデコードなど、テキストとバイナリ データの境界を慎重に定義するプロトコルを選択します。

クラスはデータを SerialPort バッファーし、 プロパティに BaseStream 含まれるストリームはバッファーしないため、2 つのクラスは読み取り可能なバイト数について競合する可能性があります。 プロパティはBytesToRead、読み取るバイトがあることを示すことができますが、これらのバイトは、 クラスにバッファーされているためSerialPort、 プロパティにBaseStream含まれるストリームからアクセスできない可能性があります。

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 が入力バッファー内の文字数よりも大きい場合は、読み取られる文字数が少なくなります。

戻り値

読み取った文字数。

例外

offsetcount を加算した値が、バッファーの長さを超えています。

- または -

count が 1 であり、バッファーにサロゲート文字が存在しています。

渡された buffernull です。

offset パラメーターまたは count パラメーターが、渡される buffer の有効な領域外です。 offset または count のいずれかが 0 より小さい値です。

指定したポートが開いていません。

読み取ることができる文字がありませんでした。

注釈

シリアル ポートから文字を読み取る場合は、このメソッドを使用します。

テキストの読み取りとストリームからのバイナリ データの読み取りを切り替える必要がある場合は、手動でのバイトの読み取りやデータのデコードなど、テキストとバイナリ データの境界を慎重に定義するプロトコルを選択します。

クラスはデータを SerialPort バッファーし、 プロパティに BaseStream 含まれるストリームはバッファーしないため、読み取り可能な文字の数が競合する可能性があります。 プロパティはBytesToRead、読み取る文字があることを示すことができますが、これらの文字は、 クラスにバッファーSerialPortされているため、 プロパティにBaseStream含まれるストリームからアクセスできない可能性があります。

Read読み取ったバイト数が等しいcountが、シリアル ポートで使用可能な未読バイトが残っている場合、メソッドは他の操作をブロックしません。

適用対象