1

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 run を使用して実行すると、次のように表示されます

「文字列」を「System.IO.Stream」に変換できません [netcoreapp1.0]

Visual Studio Community で同じプログラムを作成しようとしましたが、エラーなく正常に動作します

4

1 に答える 1

1

問題を解決するには: ファイルへの基本的なアクセスとして Stream を使用する必要があります。

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, ...
    }
}

StreamReaderand FileStreamimplementであるため、using 句のためにそれらは破棄されるため、呼び出しorIDisposableを記述する必要はありません(@TaW が述べたように)。.Close().Dispose()

于 2016-09-14T06:55:26.520 に答える