SerialPort.Read メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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 より小さい値です。
offset
に count
を加算した値が、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
が入力バッファー内の文字数よりも大きい場合は、読み取られる文字数が少なくなります。
戻り値
読み取った文字数。
例外
offset
に count
を加算した値が、バッファーの長さを超えています。
- または -
count
が 1 であり、バッファーにサロゲート文字が存在しています。
渡された buffer
が null
です。
offset
パラメーターまたは count
パラメーターが、渡される buffer
の有効な領域外です。 offset
または count
のいずれかが 0 より小さい値です。
指定したポートが開いていません。
読み取ることができる文字がありませんでした。
注釈
シリアル ポートから文字を読み取る場合は、このメソッドを使用します。
テキストの読み取りとストリームからのバイナリ データの読み取りを切り替える必要がある場合は、手動でのバイトの読み取りやデータのデコードなど、テキストとバイナリ データの境界を慎重に定義するプロトコルを選択します。
クラスはデータを SerialPort バッファーし、 プロパティに BaseStream 含まれるストリームはバッファーしないため、読み取り可能な文字の数が競合する可能性があります。 プロパティはBytesToRead、読み取る文字があることを示すことができますが、これらの文字は、 クラスにバッファーSerialPortされているため、 プロパティにBaseStream含まれるストリームからアクセスできない可能性があります。
Read読み取ったバイト数が等しいcount
が、シリアル ポートで使用可能な未読バイトが残っている場合、メソッドは他の操作をブロックしません。
適用対象
.NET