2017-06-23 156 views
0
static void Main(string[] args) 
     { 
      origination = args[1]; 
      desti = args[3]; 
      Console.ReadLine(); 
      string[] args1 = Environment.GetCommandLineArgs(); 
        origination = args1[1]; 
        desti = args1[3]; 
} 

我有問題,我第一次獲得命令參數 的權值,但是當我申請命令提示符ARGS新的價值觀也沒有更新的新值其總是返回舊值 我需要幫助當用戶添加新的命令參數時如何獲得最新的值。命令行參數問題

+0

你是什麼意思'添加'新的命令參數?命令參數僅在調用命令時傳遞;他們不能在以後更改 – Rob

+0

所以如果我通過設置項目 - >屬性 - >調試應用默認參數什麼是其他選項我得到的默認結果,但現在我想添加更改或重寫編寫該默認參數以獲得新的結果如何覆蓋? – cshah

+0

另外,當我在調試模式下運行它給我的結果基於默認的參數值,但是當我運行search.exe,然後按下輸入什麼都沒有在命令提示符上 – cshah

回答

0

這是因爲Environment.GetCommandLineArgs()在調用它時將參數傳遞給進程。您實際上正在重新閱讀它們,而您被要求輸入的文本卻無處可尋。你需要的是

string newArg = Console.ReadLine(); 
string[] newArgs = Regex.Split(newArg, " "); 

其中RegexSystem.Text.RegularExpressions命名方法。

+2

爲什麼使用正則表達式類?爲什麼不使用String.split方法? string [] splitted = newArg.split(''); –

+0

@jαsοη其實你是對的,最簡單的。 –