C# Main函数详解

Posted dongweian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# Main函数详解相关的知识,希望对你有一定的参考价值。

2018-01-15 22:10:59


 

 一、Main()方法的简介

1、唯一性。一般情况下,一个C#可执行程序只有一个Main函数,作为程序入口。但是在某些情况(如单元测试中),程序拥有多个Main函数,,这个时候我们就需要通过命令行指定以哪个Main()方法作为程序的唯一入口。

2、静态性。Main()方法通过static修饰,这个主要是让我们可以通过类名加方法的形式调用Main()方法,使得我们不需要创建对象的实例(即new出该对象)而直接调用Main函数。使用静态static修饰符的原因:

3、Main的参数。分析Main()方法的参数是一个字符串(string[] args),这个参数可以包含任意数量的命令行输入参数。

4、Main函数的修饰符。一般不加修饰符,默认为private,但可以public修饰符,但编译器在编译时会设置为priavte。

二、Main()方法为什么使用static修饰

       假设没有static关键字,那意味着需要用生成一个实例后才可以调用这个Main方法,而Main方法是程序入口点,你没有进入Main方法,自然无法生成一个实例,既然没有实例,那就无法调用Main函数,岂不矛盾?所以Main函数被设置为static。直接通过类名加方法的形式调用Main()方法,使得我们不需要创建对象的实例(即new出该对象)而直接调用Main函数。

三、Main()方法的四种形式

1、无返回值,以字符串数组作为参数

1 class Program
2     {
3         static void Main(string[] args)
4         {
5         }
6    }

 

2、无返回值,无参数

1   class Program
2     {
3         static void Main()
4         {
5         }
6     }

 

3、返回int类型数值,以字符串数组作为参数

1  class Program
2     {
3         static int Main()
4         {
5 
6            return 0;//返回整数0(0:表示没有出现异常情况正常返回;其他值(非0),表示主函数执行过程中的异常情况。)
7         }
8     }

 

4、返回int类型数值,无参数

1   class Program
2     {
3         static int Main(string[] args)
4         {
5             return 0;//返回整数0(0:表示没有出现异常情况正常返回;其他值(非0),表示主函数执行过程中的异常情况。)
6         }
7     }

 

四、Main()的参数string[] args的含义

     args是用来处理命令行参数的。命令行参数,就是你运行这个程序的时候给它传的参数。它是可选项,不是必须的。具体使用如下:

1:编写如下程序

 1  class Program
 2     {
 3         static void  Main(string[] args)
 4         {
 5             foreach (string str in args)
 6             {
 7                 Console.WriteLine("Main函数传递的参数args:{0}", str);
 8             }
 9             Console.ReadKey();
10         }
11     }

2:编译完成该程序后,在Debug文件中找到该.exe文件,复制到桌面,再复制路径+文件名,然后在命令行模式下输入“C:\\Users\\dwa1124\\Desktop\\Test aa bb cc”。运行后我们发现:

技术分享图片

 

以上是关于C# Main函数详解的主要内容,如果未能解决你的问题,请参考以下文章

C#常用代码片段备忘

C#函数式编程中的惰性求值详解

yolov5——train.py代码注释详解使用教程

在 Visual Studio 中创建构造函数的代码片段或快捷方式

C# 最有用的(自定义)代码片段是啥? [关闭]

c#代码片段快速构建代码