次のC#ファイルを使用してください。これは、私の問題を可能な限り簡単に再現したものです。
using System;
using System.IO;
public static class Test
{
public static void Main(string[] args)
{
string line;
while ((line = Console.In.ReadLine()) != null)
{
Console.Out.WriteLine(line);
}
}
}
これをmonoでビルドしてコンソールで実行すると、EOFを送信できないことを除いてすべてが正常に機能します。Ctrl-Dを入力すると、コマンドラインに奇妙な文字が表示されます。EOFのチェック方法が間違っていると思いますConsole.In
が、プロパティTextReader
を持たないです。EndOfFile
どうすればこれを修正できますか?