stdinTextReaderを通じてあなたに公開されますConsole.In。または選択したファイルをTextReader使用する入力用の変数を宣言し、それをすべての入力操作に使用するだけです。Console.In
static TextReader input = Console.In;
static void Main(string[] args)
{
if (args.Any())
{
var path = args[0];
if (File.Exists(path))
{
input = File.OpenText(path);
}
}
// use `input` for all input operations
for (string line; (line = input.ReadLine()) != null; )
{
Console.WriteLine(line);
}
}
そうしないと、この新しい変数を使用するためのリファクタリングにコストがかかりすぎる場合はConsole.In、Console.SetIn().
static void Main(string[] args)
{
if (args.Any())
{
var path = args[0];
if (File.Exists(path))
{
Console.SetIn(File.OpenText(path));
}
}
// Just use the console like normal
for (string line; (line = Console.ReadLine()) != null; )
{
Console.WriteLine(line);
}
}