次の方法で共有


TextReader.ReadLine メソッド

定義

テキスト リーダーから 1 行分の文字を読み取り、そのデータを文字列として返します。

public:
 virtual System::String ^ ReadLine();
public virtual string ReadLine ();
public virtual string? ReadLine ();
abstract member ReadLine : unit -> string
override this.ReadLine : unit -> string
Public Overridable Function ReadLine () As String

戻り値

リーダーの次の行。またはすべての文字が読み取られた場合は null

例外

I/O エラーが発生します。

返却された文字列にバッファーを割り当てるには、メモリが不足しています。

TextReader が閉じています。

次の行の文字数が Int32.MaxValue より大きい

注釈

行は、一連の文字の後にキャリッジ リターン (0x000d)、改行 (0x000a)、キャリッジ リターンの後に改行、 Environment.NewLineまたはストリームの終了マーカーとして定義されます。 返される文字列には、終了復帰または改行は含まれません。 戻り値は、 null 入力ストリームの末尾に達した場合です。

メソッドが例外を OutOfMemoryException スローした場合、基になる Stream 内のリーダーの位置は、メソッドが読み取ることができた文字数だけ進みますが、内部 ReadLine バッファーに既に読み込まれた文字は破棄されます。 ストリーム内のリーダーの位置を変更できないため、既に読み取られた文字は回復不能であり、オブジェクトを再初期化 TextReader することによってのみアクセスできます。 ストリーム内の初期位置が不明な場合、またはストリームがシークをサポートしていない場合は、基になる Stream も再初期化する必要があります。

このような状況を回避し、堅牢なコードを生成するには、 メソッドを Read 使用し、事前に割り当てられたバッファーに読み取り文字を格納する必要があります。

TextReader クラスは抽象クラスです。 そのため、コードでそれをインスタンス化することはありません。 メソッドの使用 ReadLine 例については、 メソッドを StreamReader.ReadLine 参照してください。

適用対象

こちらもご覧ください