我有一个C#命令行应用程序。如果提供,我需要捕获标准输入。如果没有,应该开始执行。
我玩过各种各样的组合:
Console.OpenStandardInput()
Console.ReadLine()
Console.In.Peek()
所有人都阻止,等待输入。这不是我想要的。标准输入应该是可选的。如果没有提供,程序应该在没有它的情况下启动而不等待它。
答案 0 :(得分:3)
我想我找到了它。这在.NET 4.5中显然是新的
if (Console.IsInputRedirected)
{
using (var reader = new StreamReader(Console.OpenStandardInput(), Console.InputEncoding))
{
_stdin = reader.ReadToEnd();
}
}