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 错误。

内存不足,无法为返回的字符串分配缓冲区。

下一行中的字符数大于 Int32.MaxValue

注解

行定义为后跟回车符(0x000d)、换行符(0x000a)、回车后跟换行符或 Environment.NewLine读取器输入的末尾的字符序列。 返回的字符串不包含终止回车符或换行符。 返回值是 null 输入的末尾已达到。

如果输入以换行序列结尾,则不会返回其他空行。 例如,包含"line1\nline2\n"的输入生成与包含"line1\nline2"的输入相同的两行("line1""line2")。

如果该方法引发 OutOfMemoryException 异常,则方法能够读取的字符数会提升读取器在其基础源中的位置,但已读入内部 ReadLine 缓冲区的字符将被丢弃。 由于无法重置读取器在基础源中的位置,因此已读取的字符不可恢复,只能通过重新初始化 TextReader 对象来访问。 如果基础源中的初始位置未知或源不支持重新定位,则基础源也需要重新初始化。

为了避免这种情况并生成可靠的代码,应使用 Read 该方法并将读取字符存储在预先分配的缓冲区中。

TextReader 类是一个抽象类。 因此,不会在代码中实例化它。 有关使用 ReadLine 该方法的示例,请参阅该方法 StreamReader.ReadLine

适用于

另请参阅