在C#中从文本文件读取两行数据时出现异常

时间:2018-06-27 17:13:56

标签: c# file-read

您好,我正在C#中从文本文件读取两行数据,并且在文件末尾出现错误“对象引用未设置为对象的实例”。我知道此错误是由于文件结尾,并且为对象分配了空值。但是我需要避免这个错误。 我的代码采用以下格式:

try
{
    sting line;
    while ((line = file.ReadLine().Trim()) != null)
    {
        //do something
        if ((line2 = file.ReadLine().Trim()) != null)
        //do something
    }
}
catch(exception e)
{
    console.write(e.Message);
}

在文件末尾是异常所在。

谢谢您的帮助。

2 个答案:

答案 0 :(得分:2)

问题是代码在检查结果是否为空之前正在对Trim()的结果调用ReadLine()

来自How to: Read a Text File One Line at a Time (Visual C#)

while((line = file.ReadLine()) != null)  
{
    // Do something with line
}

还要注意,通常最好避免在循环内再次调用ReadLine()

答案 1 :(得分:1)

使用?。运算符,例如:

file.ReadLine()?.Trim()