2016-08-06 31 views
-1

我剛剛開始使用一些基本的C#練習。我從下面的鏈接沒有得到所需的輸出

https://msdn.microsoft.com/en-us/library/aa288457(v=vs.71).aspx

這裏提到的例子是低於

// cmdline2.cs 
// arguments: John Paul Mary 
using System; 

public class CommandLine2 
{ 
    public static void Main(string[] args) 
    { 
     Console.WriteLine("Number of command line parameters = {0}", 
     args.Length); 
     Console.ReadLine(); 
     foreach (string s in args) 
     { 
      Console.WriteLine(s); 
     } 
    } 
} 

下面的代碼是預期的結果。

使用一些像這樣的參數運行程序:cmdline2 John Paul Mary。

輸出將是:

的命令行參數的數量= 3
約翰
保羅
瑪麗

然而,在我的情況下第一,當我試圖執行代碼,命令行出現一秒鐘後消失。

我添加了console.read(),我在下面看到。

數量的命令行參數= 0

所以我想了解什麼錯在這裏。任何幫助表示讚賞。

問候 阿努拉格

+0

你確定你正確傳遞參數嗎?你的代碼看起來很好 –

+1

你是如何運行應用程序的?如果你在Visual Studio中運行調試器,那麼它可能不帶命令行參數啓動它。您可以在DOS提示符下手動運行它,或者在項目屬性窗口的調試面板中設置命令行參數(右鍵單擊解決方案資源管理器中的項目,屬性)。保持Console.Read在那裏,以防止它立即退出調試模式。 –

+0

這就是詹姆斯所說的。您需要打開一個單獨的命令窗口。進入你的版本所在的目錄並在那裏輸入你的命令。您可以按住Shift鍵並右鍵單擊「build」文件夾並選擇命令提示符在這裏。 – Mastro

回答

0

您必須在最後添加的ReadLine,,暫停執行,否則程序只運行,並退出...

// cmdline2.cs 
// arguments: John Paul Mary 
using System; 

public class CommandLine2 
{ 
    public static void Main(string[] args) 
    { 
     Console.WriteLine(
     "Number of command line parameters = {0}", 
      args.Length); 
     foreach (string s in args) Console.WriteLine(s); 

     Console.WriteLine("Hit any key to exit"); 
     Console.ReadLine(); 
    } 
} 

此外,運行此從Visual Studio中,添加您的命令行參數項目的屬性頁

enter image description here

+0

嗨查爾斯,這些信息真的很有幫助。 – Aron

0

args是傳遞給可執行文件的命令的數組。

你沒有顯示的是你傳遞命令行參數的地方。這可以通過兩種方式完成:

  1. 通過從命令行調用exe,例如ping www.google.com -t調用帶有2個參數的ping.exe。
在你的榜樣

,你會打電話commandLine2.exe 3 John Paul Mary

  • 調試,你可以使用以下方法來specificy命令:
  • enter image description here

    在開始您需要添加命令行參數的選項。

    然後,您應該看到正確數量的參數。

    最後一項是您的readline在Console.WriteLine()之前。在Main方法中將讀取移動到代碼的末尾。