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