• c#类的初始化顺序


    类在初始化时的执行顺序,依次如下:

    1: 子类静态变量

    2: 子类静态构造函数

    3: 子类非静态变量

    4: 父类静态变量

    5: 父类静态构造函数

    6: 父类非静态变量

    7: 父类构造函数

    8: 子类构造函数

    对于静态变量与静态构造函数而言, 无论对一个类创建多少个实例,它的静态成员都只有一个副本。 也就是说,静态变量与静态构造函数只初始化一次(在类第一次实例化时)

    以下代码:

     1  class Class1
     2     {
     3         public static int Count = 0;
     4         static Class1()
     5         {
     6             Count++;
     7         }
     8         public Class1()
     9         {
    10             Count++;
    11         }
    12     }

    实例化代码:

    1 Class1 c = new Class1();
    2 Class1 cc = new Class1();
    3 Console.WriteLine(Class1.Count.ToString());
    4 Console.Read();


    当弟一次实例化时, Count值变成2,  当第二次实例化时, 则不会执行静态构造函数与静态变量.  此时Count的值变成3.   所以,最后结果Count值为3

  • 相关阅读:
    宏__cplusplus
    linux C 可变参数类型va_list
    muduo笔记 网络库(六)Socket类及SocketsOps库函数封装
    LeetCode74 搜索二维矩阵
    babelpolyfill
    babel预设和插件
    wordwrap和wordbreak的区别
    react高级知识
    使用schematics简化脚手架开发
    js循环删除数组元素的方法
  • 原文地址:https://www.cnblogs.com/ybhcolin/p/1834219.html
Copyright © 2020-2023  润新知