2012-07-04 25 views
2

對不起,我不能真的谷歌這個,因爲我不知道如何正確地說幾句話。開始有價值的程序

但基本上我想有這樣的事情,當你通過DOS或通過快捷方式看起來像這樣打開你的程序:

「C:\ Program.exe文件」 VALUE1 VALUE2

我的應用程序將能夠使用這些值。但是當我不輸入數值時,我的應用程序仍然可以正常啓動。

我希望做任何意義是什麼,我想在這裏說

任何幫助appereciated

+7

[main()和命令行參數(http://msdn.microsoft.com/en-us/library/acy3edy3.aspx) –

回答

7

這些都是獲取傳遞到您的主功能ARGS:

public static void main (string[] args) 
{ 
    // Check to see if at least two args were passed in. 
    if(args.Length >= 2) 
    { 
     Console.WriteLine(args[0]); // value1 
     Console.WriteLine(args[1]); // value2 
    } 
} 

保持但是,記住,沒有辦法保證傳遞的參數的順序,或者它們是你期望的值。您應該使用命名參數,然後在應用程序的開始處解析並驗證它們。你的命令可能看起來像:

C:\program.exe /V1 value1 /V2 value2 

至於解析器的一個很好的名單,我想看看:

.net - Best way to parse command line arguments in C#

+0

大聲笑...我知道它會非常簡單,我只是不知道如何表達我想要的東西。謝謝^^ – user1071461

2

有一個在微軟教程偷看了command line parameters

如果一個參數不提供,然後只使用一些默認值。

public static void Main(string[] args) 
{ 
    // The Length property is used to obtain the length of the array. 
    // Notice that Length is a read-only property: 
    Console.WriteLine("Number of command line parameters = {0}", 
     args.Length); 
    for(int i = 0; i < args.Length; i++) 
    { 
     Console.WriteLine("Arg[{0}] = [{1}]", i, args[i]); 
    } 

    if(args.length < 2) 
    { 
     x = 1; 
    } else { 
    { 
     x = Arg[2]; 
    } 

}

1

從命令行執行您的Program.exe這樣

C:\ PROGRAM的Test1 Test2的

要獲得知識如何在C#請使用鏈接MSDN

2

當你創建一個可執行文件時,你有一個Main函數,它具有Main(string [] args),在這裏你可以讀取你用來調用該程序的參數。

如果您需要默認值,您可以使用定義的值(或使用應用程序屬性)創建類變量,並且如果使用參數調用程序程序覆蓋它們。

希望它可以幫助你:)