不考虑继承的话,类的执行顺序如下:
1静态字段
2静态构造函数(类被实例化的时候或者调用静态成员的时候调用静态构造,且只调用一次,注意:只是在第一次进入类的时候才会调用,并且所有的静态都是在第一次进入的时候调用,第二次不会 )
3实例字段
4实例构造
考虑继承的话,类的执行顺序如下:
1子类静态成员
2子类静态构造
3子类实例成员
4父类静态成员
5父类静态构造
6父类实例成员
7父类实例构造
8子类实例构造
有如下代码
/// <summary>
/// 类的执行顺序(不考虑继承)
/// 1静态字段
/// 2静态构造(类被实例化话调用静态成员的时候调用,且只在第一次调用一次,由第一次进入类的那个对象来调用)
/// 3实例字段
/// 4实例构造
/// </summary>
class A
{
public static A a = new A();
C c = new C("A类");
static A()
{
Console.WriteLine