在 C# 中,Main 类具有 string[] args 参数。
这是做什么用的?它在哪里使用?
Main 方法的参数是一个字符串数组,表示命令行参数
所以,如果我有这样的程序(MyApp.exe):
class Program
{
static void Main(string[] args)
{
foreach (var arg in args)
{
Console.WriteLine(arg);
}
}
}
我从命令行开始是这样的:
MyApp.exe Arg1 Arg2 Arg3
Main 方法将传递一个包含三个字符串的数组:“Arg1”、“Arg2”、“Arg3”。
如果您需要传递包含空格的参数,请将其用引号括起来。例如:
MyApp.exe "Arg 1" "Arg 2" "Arg 3"
当您需要在运行时将信息传递给应用程序时,通常会使用命令行参数。例如,如果您正在编写一个将文件从一个位置复制到另一个位置的程序,您可能会将这两个位置作为命令行参数传递。例如:
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]
会给你第一个命令行参数,如果有的话。
除了其他答案。您应该注意到这些参数可以为您提供拖放到文件上的文件路径.exe
。即,如果您将任何文件拖放到文件上,.exe
则应用程序将启动,并且arg[0]
将包含拖放到其上的文件路径。
static void Main(string[] args)
{
Console.WriteLine(args[0]);
}
这将打印放置在文件上的文件的路径.exe
。例如
C:\Users\ABCXYZ\source\repos\ConsoleTest\ConsoleTest\bin\Debug\ConsoleTest.pdb
因此,遍历args
数组将为您提供所有被选择并拖放到.exe
控制台应用程序文件中的文件的路径。看:
static void Main(string[] args)
{
foreach (var arg in args)
{
Console.WriteLine(arg);
}
Console.ReadLine();
}
上面的代码示例将打印所有拖放到上面的文件名,请参阅我正在将 5 个文件拖到我的ConsoleTest.exe
应用程序上。
args 参数存储用户在运行程序时提供的所有命令行参数。
如果您像这样从控制台运行程序:
program.exe有4个参数
您的 args 参数将包含四个字符串:“there”、“are”、“4”和“parameters”
以下是如何从 args 参数访问命令行参数的示例:示例
您一定见过一些从命令行运行并让您向它们传递参数的应用程序。如果您用 C# 编写一个这样的应用程序,则该数组将args
用作上述参数的集合。
这是您处理它们的方式:
static void Main(string[] args) {
foreach (string arg in args) {
//Do something with each argument
}
}
这是传递给程序的命令行开关数组。例如,如果您使用命令“ myapp.exe -c -d
”启动程序,string[] args[]
则将包含字符串“-c”和“-d”。
它是您发送给程序的参数/参数(因此是 args)的数组。例如ping 172.16.0.1 -t -4
这些参数作为字符串数组传递给程序。
string[] args
// 包含参数的字符串数组。