1
我有一個C#命令行應用程序。如果提供了,我需要捕獲標準輸入。如果不是,執行應該剛剛開始。如何捕獲標準輸入(如果存在),而不等待呢?
我打得周圍的各種組合:
Console.OpenStandardInput()
Console.ReadLine()
Console.In.Peek()
他們的所有塊,等待輸入。這不是我想要的。標準輸入應該是可選的。如果沒有提供,程序應該在沒有它的情況下開始並且不用等待它。
我只在這裏猜測,但它似乎是你混淆命令行參數的標準輸入。命令行參數在啓動時提供給應用程序;標準輸入是在應用程序已經運行之後輸入的。我懷疑你希望人們輸入你的程序名稱,按回車,然後立即開始輸入;甚至是這樣的情況下,用戶無法快速打字,以免搶先啓動程序.... – Claies
不,我想都這樣。我有一堆命令行參數,但我也希望人們能夠(1)向其傳輸數據,或者(2)將文件內容傳遞給它。像:'echo foo | myexe.exe'或myexe.exe
Deane
那麼爲什麼不使用像while((s = Console.ReadLine())!= null)這樣簡單的while循環呢? – Claies