Ripo_za 2020-08-12 15:33 采纳率: 100%
浏览 183

.net core中提示 FileStream未包含“Close”的定义,但是.net framework却正常?

对于下面的代码片段中file.Close()语句在.net core情况下提示 FileStream未包含“Close”的定义,但是在 .net framework中就不提示错误。

那位大佬能回答下是怎么回事?

 var file = File.Open(txtpath, FileMode.Open);
List<string> txt = new List<string>();
using (var stream = new StreamReader(file, System.Text.Encoding.GetEncoding("gb2312")))
{
        while (!stream.EndOfStream)
        {
                txt.Add(stream.ReadLine());
        }
}
file.Close();
  • 写回答

2条回答 默认 最新

  • jingluan666 2020-08-12 16:42
    关注

    我用vs2017、.net core2.1看了没有你说的情况,另外代码需要改进(放在using里面就不需要Close方法):

               List<string> txt = new List<string>();
    
                using (var file = File.Open(txtpath, FileMode.Open))
                {
                    var stream = new StreamReader(file, System.Text.Encoding.GetEncoding("gb2312"));
    
                    while (!stream.EndOfStream)
                    {
                        txt.Add(stream.ReadLine());
                    }
                }
    

    或者更简单点:

     List<string> txt = new List<string>();          
     txt.AddRange(File.ReadAllLines(txtpath, System.Text.Encoding.GetEncoding("gb2312")));
    
    评论

报告相同问题?

悬赏问题

  • ¥15 Coze智能助手搭建过程中的问题请教
  • ¥15 12864只亮屏 不显示汉字
  • ¥20 三极管1000倍放大电路
  • ¥15 vscode报错如何解决
  • ¥15 前端vue CryptoJS Aes CBC加密后端java解密
  • ¥15 python随机森林对两个excel表格读取,shap报错
  • ¥15 基于STM32心率血氧监测(OLED显示)相关代码运行成功后烧录成功OLED显示屏不显示的原因是什么
  • ¥100 X轴为分离变量(因子变量),如何控制X轴每个分类变量的长度。
  • ¥30 求给定范围的全体素数p的(p-2)/p的连乘积值
  • ¥15 VFP如何使用阿里TTS实现文字转语音?