小编典典

C#控制台通过管道接收输入

c#

我知道如何使用参数对控制台应用程序进行编程,例如:myProgram.exe param1 param2。

我的问题是,如何使程序可以使用|,例如:echo“ word” | myProgram.exe?


阅读 432

收藏
2020-05-19

共1个答案

小编典典

您需要使用Console.Read()并且Console.ReadLine()好像您正在阅读用户输入一样。管道透明地替换用户输入。您不能轻易使用两者(尽管我确信这很有可能…)。

编辑:

一个简单的cat样式程序:

class Program
{
    static void Main(string[] args)
    {
        string s;
        while ((s = Console.ReadLine()) != null)
        {
            Console.WriteLine(s);
        }

    }
}

并按预期运行时,输出:

C:\ ... \ ConsoleApplication1 \ bin \ Debug>回显“ Foo bar baz” | ConsoleApplication1.exe
“ Foo bar baz”

C:\ ... \ ConsoleApplication1 \ bin \ Debug>
2020-05-19