首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在C#中从文本文件中读取两行数据时出现异常

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

Stack Overflow用户
提问于 2018-06-28 01:13:56
回答 2查看 42关注 0票数 1

你好,我正在从C#的文本文件中读取两行数据,在文件的末尾我得到错误"Object reference not set to an instance of an object“。我知道这个错误是因为文件结束,对象被赋值为空值。但是我需要避免这个错误。我的代码格式如下:

代码语言:javascript
复制
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);
}

在文件的末尾,是它异常的地方。

提前感谢您的帮助。

EN

回答 2

Stack Overflow用户

发布于 2018-06-28 01:17:48

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

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

代码语言:javascript
复制
while((line = file.ReadLine()) != null)  
{
    // Do something with line
}

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

票数 2
EN

Stack Overflow用户

发布于 2018-06-28 01:24:45

使用?运算符,如:

代码语言:javascript
复制
file.ReadLine()?.Trim()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51068216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档