关于C#的Main(String[] args)参数输入问题

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

  1. using System;
  2. namespace DemoMainArgs
  3. {
  4. class Program
  5. {
  6. static void Main(string[] args)
  7. {
  8. Console.WriteLine("Hello World!");
  9. Console.ReadLine();
  10. }
  11. }
  12. }
  • static:是将Main方法声明为静态, 是应用程序的入口。
  • void:说明main方法不会返回任何内容。
  • string[]args:这是用来接收命令行传入的参数。string[]是声明args的数据类型,可以存储字符串数组。

通过cmd.exe程序来启动上述程序时会弹出命令窗口,你可以在那里输入一些参数,string[] args 指的就是在命令窗口输入的参数, 也就是命令行参数。
args是用来接收命令行参数的。它是可选项,不是必须的。

下面通过一个具体的示例程序来说明。

  1. 新建控制台程序DemoMainArgs。
  2. 编写代码。 ```csharp using System;

namespace DemoMainArgs { class Program { ///

/// 应用程序入口 /// /// 接收命令行传入的参数(多个参数之间用空格分开) static void Main(string[] args) { if(args != null) { int argsLength = args.Length; Console.WriteLine(“Main函数参数args的长度:” + argsLength); for(int i = 0;i < argsLength;i++) { Console.Write(“第” + (i + 1) + “个参数是:”); Console.WriteLine(args[i]); } }

  1. Console.ReadLine();
  2. }
  3. }

} ```

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

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

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

打开命令行,输入路径+DemoMainArgs,空一个,再输入 a b c d(可以输入任意多个参数,多个之间用空格分隔)
C#的Main(String[] args)参数输入 - 图1
Enter回车查看结果:
C#的Main(String[] args)参数输入 - 图2

方式二:编译前输入参数

右键点击【项目】—》【属性】,弹出配置界面。选择【调试】—》【启动选项】—》【命令行参数】文本框中输入任意的参数,多个之间用空格分隔
C#的Main(String[] args)参数输入 - 图3
按下F5编译并运行,直接看到输出
C#的Main(String[] args)参数输入 - 图4

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

程序编译后,创建快捷方式程序。右键点击【DemoMainArgs.exe】—》【创建快捷方式】
C#的Main(String[] args)参数输入 - 图5
产生了快捷方式文件,如下:
C#的Main(String[] args)参数输入 - 图6
右键点击【DemoMainArgs.exe 快捷方式】—》【属性】—》【快捷方式】—》【目标】,在文本框的最后输入任意参数,
多个之间用空格分开

C#的Main(String[] args)参数输入 - 图7
双击【DemoMainArgs.exe 快捷方式】,运行结果如下
C#的Main(String[] args)参数输入 - 图8

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