2009-02-16 102 views

回答

70

C# programming guide on MSDN

Main方法的參數是一個字符串數組,表示命令行參數

所以,如果我有一個程序(MyApp.exe的)類似這樣的:

class Program 
{ 
    static void Main(string[] args) 
    { 
    foreach (var arg in args) 
    { 
     Console.WriteLine(arg); 
    } 
    } 
}

,我開始在這樣的命令行:

MyApp.exe Arg1 Arg2 Arg3

Main方法將會是p該數組包含三個字符串:「Arg1」,「Arg2」,「Arg3」。

如果您需要傳遞包含空格的參數,請將其包含在引號中。例如:

MyApp.exe "Arg 1" "Arg 2" "Arg 3"

當您需要在運行時將信息傳遞給應用程序時,通常會使用命令行參數。例如,如果您正在編寫將文件從一個位置複製到另一個位置的程序,則可能會將這兩個位置作爲命令行參數傳遞。例如:

Copy.exe C:\file1.txt C:\file2.txt
+0

+1好的詳細的解答,使我的努力相形見絀 – andynormancx 2009-02-16 10:02:54

10

用於傳遞命令行參數。例如args[0]會給你第一個命令行參數,如果有的話。

0

你一定看到過一些從命令行運行的應用程序,並讓你傳遞它們的參數。如果你用C#編寫一個這樣的應用程序,則數組args充當所述參數的集合。

該如何處理它們:

static void Main(string[] args) { 
    foreach (string arg in args) { 
     //Do something with each argument 
    } 
} 
1

這是命令行開關傳遞給程序的一個數組。例如。如果使用命令「myapp.exe -c -d」啓動程序,則string[] args[]將包含字符串「-c」和「-d」。

1

args參數存儲用戶在運行程序時給出的所有命令行參數。

如果從控制檯像這樣運行程序:

的Program.exe有4個參數

你args參數將包含四根弦:「有」,「是」 ,「4」,和「參數」

下面是如何從args參數訪問命令行參數的一個示例:example

11

繼別人的答案,你應該注意的是,參數在C#可選,如果你的應用程序不使用命令行參數。

此代碼是完全合法:

internal static Program 
{ 
    private static void Main() 
    { 
     // Get on with it, without any arguments... 
    } 
} 
0

除了其他的答案。您應該注意到這些參數可以爲您提供被拖放到.exe文件上的文件路徑。 即,如果您將文件拖放到.exe文件中,則應用程序將啓動並且arg[0]將包含已放入其中的文件路徑。

class Program 
{ 
    static void Main(string[] args) 
    { 
     Console.WriteLine(args[0]); 
    } 
} 

這將打印放在.exe文件上的文件的路徑。 e.g

C:\用戶\ ABC \文檔\ Visual Studio的\項目\ MyTestApp \ MyTestApp \ BIN \ MyTestApp.exe

相關問題