StreamReader不接受字符串参数

本文关键字:参数 字符串 不接受 StreamReader | 更新日期: 2023-09-27 18:06:59

在VScode中使用dotnet-cli (dotnet new, dotnet restore)编写了一个新的c#程序。

然而,我似乎不能正确使用StreamReader。代码如下:

using System;
using System.IO;
namespace ConsoleApplication
{
    public class Program
    {
        public static void Main(string[] args)
        {
            StreamReader test = new StreamReader("Test.txt");
        }
    }
}

我似乎无法运行这个程序。当我使用Dotnet运行,它说

'string'不能转换为'System.IO '。流"(netcoreapp1.0)

我尝试在Visual Studio Community中创建相同的程序,它运行良好,没有任何错误

StreamReader不接受字符串参数

要解决您的问题:您必须使用流作为对文件的基本访问:

using(var fs = new FileStream("file.txt", FileMode.Open, FileAccess.Read))
    using (var sr = new System.IO.StreamReader(fs)){
        //Read file via sr.Read(), sr.ReadLine, ...
    }
}

由于StreamReaderFileStream实现了IDisposable,它们将被处理,因为使用子句,所以你不需要写一个调用.Close().Dispose()(如@TaW所说)。