【C#基础知识】C#控制台程序入口函数 Main(string[] args) 参数详解

测试环境vs2019+.net5.0 请看 :https://cloud.tencent.com/developer/article/1507934

本测试环境vs2022+.net6.0 +window 10

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

//C#9  .net5.0
 using System;
 namespace DemoMainArgs
{
     class Program
     {
         static void Main(string[] args)
         {
             Console.WriteLine("Hello World!");
             Console.ReadLine();
        }
     }
 }
//C# 10  .net 6.0
    Console.WriteLine("Hello World!");

//系统会自动生成命名空间(项目名称)和Program 类。args 不用声明,系统默认agr就是main函数的string[] args参数
  • static:是将Main方法声明为静态, 是应用程序的入口。
  • void:说明main方法不会返回任何内容。
  • string[]args:这是用来接收命令行传入的参数。string[]是声明args的数据类型,可以存储字符串数组。
  • 可有再多个类中分布main函数,然后再项目属性=>常规=>启动对象 要将哪一个类中的main函数设定为入口点

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

args是用来接收命令行参数的。它是可选项,不是必须的。

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

1. 新建控制台程序DemoMainArgs。

2. 编写代码。

//C#10 .net6.0


Console.WriteLine("该程序接收多个参数 用空格 来做参数分隔符");
Console.WriteLine($"main函数参数agrs 的长度{args.Length} ");
int i = 1;
foreach (var s1 in args)
{
    Console.WriteLine($"参数{i++}:{s1}");
    
}

Console.WriteLine(args);
Console.ReadKey();

//c# 9.0 .net5.0
using System;
 namespace ConsoleApp6
{
     class Program
     {
         static void Main(string[] args)
         {
            Console.WriteLine("该程序接收多个参数 用空格 来做参数分隔符");
Console.WriteLine($"main函数参数agrs 的长度{args.Length} ");
int i = 1;
foreach (var s1 in args)
{
    Console.WriteLine($"参数{i++}:{s1}");
    
}

Console.WriteLine(args);
Console.ReadKey();
        }
     }
 }

3. 编译,生成ConsoleApp6.exe文件。

4、用ILSpy 打开ConsoleApp6.dll 发现 .net 6.0 C#10 编写的代码都是在main函数中 ,系统自动生成了program 类。

 

 5、设定哪个类作为函数入口点、如果就一个main函数,那么默认未配置

 

 

 

 

 

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

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

 应用程序目录 的地址栏中输入cmd 回车 ,输入路径+DemoMainArgs,空一格,再输入 a b c d(可以输入任意多个参数,多个之间用空格分隔)

 

 输入应用程序名和 参数(可以输入任意多个参数,多个之间用空格分隔)Enter回车查看结果如下:

 

 

方式二:编译前输入参数

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

 

 配置完成后,系统生成Properties\launchSettings.json 文件保存这些配置:

 

 

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

 

 


 

 

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

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

 

 


 

 

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

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

多个之间用空格分开

 

 

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

 

 

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

posted @ 2021-11-22 22:37  小林野夫  阅读(4495)  评论(0编辑  收藏  举报
原文链接:https://www.cnblogs.com/cdaniu/