您好,我正在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);
}
在文件末尾是异常所在。
谢谢您的帮助。
答案 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()