在C#中,args用来接收来自命令行的自变量,它是一个String数组。
声明Main()方法时,无论添加还是不添加这个形参,其实都可以。
与 C 和 C++ 不同,程序的名称不被视为 args 数组中的第一个命令行实参,但如果不使用这个形参,而是使用GetCommandLineArgs()方法,那么程序的名称则是该方法返回数组的第一个元素。
先写一个测试用的程序。
static void Main(string[] args){
if (args.Length == 0){
Console.WriteLine("并未获得命令行传来的自变量。");
}
else {
for (int i = 0; i < args.Length; i++){
Console.WriteLine(@"第{0}个自变量为:{1}", i + 1, args[i]);
}
}
Console.ReadKey();
}
一、使用形参string[] args
我们可以通过以下方法向Main()方法中传递命令行自变量。
1. 通过命令行
- 将以上程序编译生成,打开项目文件夹下的bin\Debug文件夹,找到可执 行文件;
- 运行中打开cmd或者powershell,并将可执行文件拖入其中;
- 输入参数,如下图所示。
2. 通过VS
- 按下Alt+F7,打开项目设计器;
- 进入调试页;
- 输入参数,保存并运行,如下图所示。
结果:
二、通过GetCommandLineArgs()方法
代码如下:
static void Main(){
string[] args = Environment.GetCommandLineArgs();
if (args.Length == 0){
Console.WriteLine("并未获得命令行传来的自变量。");
}
else {
for (int i = 0; i < args.Length; i++){
Console.WriteLine(@"第{0}个自变量为:{1}", i + 1, args[i]);
}
}
Console.ReadKey();
}
运行结果如下,程序的名称为数组的第一个元素。