在 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 方法将传递一个包含三个字符串的数组:“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...
}
}
除了其他答案。您应该注意到这些参数可以为您提供拖放到
.exe
文件上的文件路径。
即,如果您将任何文件拖放到 .exe
文件上,则应用程序将启动,并且 arg[0]
将包含拖放到其上的文件路径。
static void Main(string[] args)
{
Console.WriteLine(args[0]);
}
这将打印放置在
.exe
文件上的文件的路径。例如
C:\Users\ABCXYZ\源 epos\ConsoleTest\ConsoleTest 位于\Debug\ConsoleTest.pdb
因此,循环遍历
args
数组将为您提供所有被选择并拖放到控制台应用程序的 .exe
文件上的文件的路径。参见:
static void Main(string[] args)
{
foreach (var arg in args)
{
Console.WriteLine(arg);
}
Console.ReadLine();
}
上面的代码示例将打印拖放到其上的所有文件名,请参阅我正在将 5 个文件拖到我的
ConsoleTest.exe
应用程序上。
用于传入命令行参数。例如,
args[0]
将为您提供第一个命令行参数(如果有)。
args 参数存储用户运行程序时给出的所有命令行参数。
如果您像这样从控制台运行程序:
program.exe有4个参数
您的 args 参数将包含四个字符串:“there”、“are”、“4”和“parameters”
以下是如何从 args 参数访问命令行参数的示例:example
这是传递给程序的命令行开关数组。 例如。如果您使用命令“
myapp.exe -c -d
”启动程序,那么string[] args[]
将包含字符串“-c”和“-d”。
您一定见过一些从命令行运行并允许您传递参数的应用程序。如果您用 C# 编写一个这样的应用程序,则数组
args
将用作所述参数的集合。
这就是你处理它们的方式:
static void Main(string[] args) {
foreach (string arg in args) {
//Do something with each argument
}
}
它是您发送到程序的参数/参数(因此为 args)的数组。例如
ping 172.16.0.1 -t -4
这些参数作为字符串数组传递给程序。
string[] args
// 包含参数的字符串数组。