为什么mian函数必须是static的

c#程序刚开始启动的时候都会有唯一一个入口函数main()函数,而非静态成员又称实例成员,必须作用于实例。在程序刚开始运行的时候,未建立任何实例,因此无法调用实例成员,包括非静态的Main方法。为了能够在程序的开始执行Main方法,必须将其声明为静态。 
顺便说明,在Main方法中调用的成员也必须是静态的,除非建立过相应的实例。 

例如:


namespace lover_P.Test { 

public class Test { 
public void InstanceMethod() {} // 实例成员(非静态) 
public static void StaticMethod {} // 类型成员(静态) 
public static void Main() { 
InstanceMethod(); // 错误!调用了实例成员,而此时并没有建立实例 
StaticMethod(); // 正确!可以调用静态成员 
Test SomeTest = new Test(); // 建立本类型的一个实例 
SomeTest.InstanceMethod(); // 再在这个实例上调用实例成员就对了 
SomeTest.StaticMethod(); // 附加一句,在实例上调用静态成员也是错误的! 


}

你可能感兴趣的:(为什么mian函数必须是static的)