2009-02-16 51 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

相关问题