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”。运行后我们发现: