C# 将数据从命令行导入C控制台应用程序

C# 将数据从命令行导入C控制台应用程序,c#,console,C#,Console,我有一个基本的C控制台应用程序,如下所示: static void Main(string[] args) { if (args.Length > 0) { foreach (var arg in args) { Console.WriteLine("arg: " + arg); } } else { Console.WriteLine("No args received from standard output.");

我有一个基本的C控制台应用程序,如下所示:

static void Main(string[] args)
{
  if (args.Length > 0)
  {
    foreach (var arg in args)
    {
      Console.WriteLine("arg: " + arg);
    }
  }
  else
  {
    Console.WriteLine("No args received from standard output.");
  }
}
我的应用程序最终将从第三方应用程序接收数据,该第三方应用程序将通过管道将数据传输到此控制台应用程序。为了测试此场景,我尝试运行以下程序:

echo "hello world" | MyConsoleApp.exe

当我运行它时,我没有看到从标准输出收到任何参数。。然而,我期待着看到hello world。我做错了什么

另一个命令的管道输出不会作为命令行参数传递给您的应用程序,即Main中的args[]。相反,应用程序需要从标准输入stdin读入它们。您需要使用Console.Read或Console.ReadLine