TextReader.ReadLine 方法

定義

從文字讀取器讀取一行字元,並將資料以字串形式回傳。

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""line2") 與包含 "line1\nline2"的輸入相同。

若方法拋 OutOfMemoryException 出例外,讀取器在其底層來源中的位置會依方法能讀取的字元數前進,但已讀入內部 ReadLine 緩衝區的字元會被丟棄。 由於讀取器在底層來源中的位置無法重置,已讀取的字元無法恢復,只能透過重新初始 TextReader 化物件來存取。 如果底層來源中的初始位置未知,或來源不支援重新定位,則底層來源也需要重新初始化。

為了避免這種情況並產生穩健的程式碼,你應該使用該 Read 方法,並將已讀字元儲存在預先配置的緩衝區中。

這個 TextReader 類別是抽象類別。 因此,你不會在程式碼中實例化它。 關於使用此ReadLine方法的範例,請參見該方法。StreamReader.ReadLine

適用於

另請參閱