TextReader.ReadLine 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
從文字讀取器讀取一行字元,並將資料以字串形式回傳。
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