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 されます。

入力が改行シーケンスで終わる場合、追加の空行は返されません。 たとえば、"line1\nline2\n"を含む入力では、"line1\nline2"を含む入力と同じ 2 行 ("line1""line2") が生成されます。

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

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

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

適用対象

こちらもご覧ください