程序退出时返回值

时间:2016-06-21 19:18:31

标签: c# windows

我知道您可以将参数传递给程序执行。

即:

myprogram.exe param1 param2 [...]

但是如果我想在程序退出时检索几个值(比方说我想将param1和param2回到调用进程),我知道这样做的唯一方法就是使用退出代码(这是不切实际的)使用更大/多个参数),或通过临时文件传递它们。

是否有类似于在程序出口处检索多个值的内容,就像在程序启动时如何传递多个参数一样?

1 个答案:

答案 0 :(得分:1)

在Unix系统上,通常通过将一个程序的输出传递给下一个程序的输入来实现一个复杂的任务。

您可以将第一个程序的输出写入stdout(例如使用Console.WriteLine),然后下一个程序将从stdin读取以获取进一步处理工作所需的数据。

这也可以在.NET / Windows环境中完成。

话虽如此,可能更希望使用更现代的方法将状态从一个程序传递到下一个程序。您可以在可以访问的数据库中编写状态,也可以使用消息队列来传递信息。

您甚至可以在两个程序仍在使用命名管道等机制运行时传递信息。

如果您可以控制所有代码,也可以将功能从多个程序移动到库(DLL)中,并编写一个新程序来编排使用该库的整个过程。

你有很多选择。最佳解决方案取决于您想要实现的目标。