Main类中的“string args”是什么?

在C#中,Main类有string [] args参数。

这是什么和它在哪里使用?

从MSDN上的C#编程指南 :

Main方法的参数是一个表示命令行参数的string数组

所以,如果我有一个程序(MyApp.exe)是这样的:

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

我开始在这样的命令行:

 MyApp.exe Arg1 Arg2 Arg3 

Main方法将传递一个包含三个string的数组:“Arg1”,“Arg2”,“Arg3”。

如果您需要传递包含空格的参数,请将其包含在引号中。 例如:

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

当需要在运行时将信息传递给应用程序时,通常会使用命令行参数。 例如,如果您正在编写将文件从一个位置复制到另一个位置的程序,则可能会将这两个位置作为命令行parameter passing。 例如:

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

除了其他人的回答,你应该注意,如果你的应用程序不使用命令行参数,那么参数在C#中是可选的。

这个代码是完全有效的:

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

用于传入命令行参数。 例如, args[0]会给你第一个命令行参数,如果有的话。

这是命令行开关传递给程序的一个数组。 例如,如果使用命令“ myapp.exe -c -d ”启动程序,则string[] args[]将包含string“-c”和“-d”。

args参数存储用户在运行程序时给出的所有命令行参数。

如果你像这样从控制台运行你的程序:

program.exe有4个参数

您的args参数将包含四个string:“there”,“are”,“4”和“parameters”

以下是如何从args参数访问命令行参数的示例 : 示例

当你运行这个应用程序时,任何命令行参数都被parsing成一个数组,并传递到你的类的主要方法中供你阅读:

http://msdn.microsoft.com/en-us/library/cb20e19t(VS.80).aspx

这是为了如果你打算从命令行运行你的应用程序。 这些参数可以在args数组中访问。 有关更多详细信息, 请转至http://www.c-sharpcorner.com/UploadFile/mahesh/CmdLineArgs03212006232449PM/CmdLineArgs.aspx

你一定看过一些从命令行运行的应用程序,并让你传递它们的参数。 如果你在C#中编写一个这样的应用程序,数组args就是上述参数的集合。

你如何处理它们:

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

除了其他的答案。 您应该注意到这些参数可以为您提供被拖放到.exe文件的文件path。 即如果你拖放任何文件到你的.exe文件,那么应用程序将被启动,并且arg[0]将包含被放到它上面的文件path。

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

这将打印放在.exe文件上的文件的path。 例如

C:\ Users \ abc \ Documents \ Visual Studio \ Projects \ MyTestApp \ MyTestApp \ bin \ MyTestApp.exe