2016-06-21 101 views
0

我知道您可以將參數傳遞到程序的執行中。在程序退出時返回值

即:

myprogram.exe param1 param2 [...] 

但是,如果我想檢索程序退出幾個值(比方說,我想呼應參數1和參數返回給調用進程),我知道這樣做會是唯一的出路使用退出代碼(這對大/多參數來說是不切實際的),或者通過臨時文件傳遞它們。

是否有任何類似於在程序退出時檢索多個值的方法,很像如何在程序的開始時傳遞多個參數?

+0

@Kevin:除了退出代碼之外,你不能直接傳遞任何非程序代碼而不使用其他機制。 –

+0

沒有意識到他在談論一個控制檯項目,我應該在評論之前仔細看看他的例子。 – Kevin

回答

1

在Unix系統上,通過將一個程序的輸出傳送到下一個程序的輸入來執行復雜的任務是很常見的。

您會將第一個程序的輸出寫入標準輸出(例如使用Console.WriteLine),然後下一個程序將從標準輸入讀取以獲取進一步處理工作所需的數據。

這也可以很好地在.NET/Windows環境下完成。

話雖如此,可能更希望使用更現代的方法將狀態從一個程序傳遞到下一個程序。您可以在可以訪問的數據庫中編寫狀態,也可以使用消息隊列傳遞信息。

你甚至可以在兩個程序之間傳遞信息,同時它們仍然使用命名管道等機制運行。

如果你能夠控制所有的代碼,並且編寫一個新的程序來編排整個使用該庫的過程,你也可以將這些功能從幾個程序移動到一個庫(DLL)中。

您有很多選擇。最好的解決方案取決於你想達到的目標。