C#中static void Main(string[] args) 参数详解

时间:2021-07-15 21:24:48

  学习C#编程最常见的示例程序是在控制台应用程序中输出Hello World!

 1 using System;
2
3 namespace DemoMainArgs
4 {
5 class Program
6 {
7 static void Main(string[] args)
8 {
9 Console.WriteLine("Hello World!");
10 Console.ReadLine();
11 }
12 }
13 }
  • static:是将Main方法声明为静态, 是应用程序的入口。
  • void:说明main方法不会返回任何内容。 
  • string[]args:这是用来接收命令行传入的参数。string[]是声明args的数据类型,可以存储字符串数组。
        通过cmd.exe程序来启动上述程序时会弹出命令窗口,你可以在那里输入一些参数,string[] args 指的就是在命令窗口输入的参数, 也就是命令行参数。         args是用来接收命令行参数的。它是可选项,不是必须的。   下面通过一个具体的示例程序来说明。 1. 新建控制台程序DemoMainArgs。2. 编写代码。
 1 using System;
2
3 namespace DemoMainArgs
4 {
5 class Program
6 {
7 /// <summary>
8 /// 应用程序入口
9 /// </summary>
10 /// <param name="args">接收命令行传入的参数(多个参数之间用空格分开)</param>
11 static void Main(string[] args)
12 {
13 if(args != null)
14 {
15 int argsLength = args.Length;
16 Console.WriteLine("Main函数参数args的长度:" + argsLength);
17 for(int i = 0;i < argsLength;i++)
18 {
19 Console.Write("" + (i + 1) + "个参数是:");
20 Console.WriteLine(args[i]);
21 }
22 }
23
24 Console.ReadLine();
25 }
26 }
27 }

 3. 按下F6编译,生成DemoMainArgs.exe文件。 切记不是F5编译并运行!!!

 

 下面通过3种方式来展示具体效果

方式一 :命令行中启动程序并输入参数

打开命令行,输入路径+DemoMainArgs,空一个,再输入 a b c d(可以输入任意多个参数,多个之间用空格分隔

C#中static void Main(string[] args) 参数详解

Enter回车查看结果:

C#中static void Main(string[] args) 参数详解

 

方式二:编译前输入参数

右键点击【项目】--》【属性】,弹出配置界面。选择【调试】--》【启动选项】--》【命令行参数】文本框中输入任意的参数,多个之间用空格分隔

C#中static void Main(string[] args) 参数详解

按下F5编译并运行,直接看到输出

C#中static void Main(string[] args) 参数详解

 

方式三:通过在程序的快捷方式中增加参数【推荐】

程序编译后,创建快捷方式程序。右键点击【DemoMainArgs.exe】--》【创建快捷方式】

C#中static void Main(string[] args) 参数详解

 产生了快捷方式文件,如下:

C#中static void Main(string[] args) 参数详解

右键点击【DemoMainArgs.exe 快捷方式】--》【属性】--》【快捷方式】--》【目标】,在文本框的最后输入任意参数,

多个之间用空格分开

C#中static void Main(string[] args) 参数详解

双击【DemoMainArgs.exe 快捷方式】,运行结果如下

C#中static void Main(string[] args) 参数详解

 

总结:第3种方式比较灵活,可以由客户端(使用者)*输入特点范围内的参数,然后程序根据输入的参数来判断执行不同的业务逻辑。

例如:C# winform 窗体接收命令行参数自动登录进行系统,模拟600个WCF客户端的并发压力测试

参考:http://www.cnblogs.com/jirigala/archive/2011/10/02/2197964.html