C#系列之:类中的静态变量的执行数序

来源:互联网 发布:贵州旅游大数据报告 编辑:程序博客网 时间:2024/06/17 15:25

  今天对静态变量的销毁作了下研究,看到网上大家各有各的说法,但最终的一致结果是:静态变量是伴随程序的消亡而销毁,就像全局变量一样,随后看到了有人在执行存在静态

变量的类中的一些计算,如下:

Bus类:

   public class Bus
    {
        public static int datay = Trunk.data + 1;
        static Bus()
        {
            Console.WriteLine("calling Bus");
            Console.Write(datay);
        }
    }

Trunk类:

    public class Trunk
    {
        public static int data = 0;
        static Trunk()
        {
            Console.WriteLine("calling Trunk");
            Console.WriteLine(data);
            data = Bus.datay + 1;
        }
    }

Main函数:

static void Main(string[] args)

{

            Console.WriteLine("Data:{0},Datay:{1}", Bus.datay, Trunk.data);
            Console.ReadLine()

}

运行结果:


最终总结出:每个类都有自己的静态构造函数,而且无论是实例化类多少次,都只会执行1次给静态变量的赋值,而且


每次执行时候,先过静态变量的定义,如图:


然后再进入静态构造函数进行赋值;但是,碰到如上图断点处,发现调用到Trunk类的data变量,就会首先跳转到Trunk类的该静态变量的定义处,


,进行初始化定义,再到静态函数的赋值,执行完毕后,跳转回首次执行的位置,对该位置的变量进行初始化赋值;并且,经过此次静态构造函数的


赋值后,其它的赋值都不会对其产生影响,改变其值;


希望以上讲述能帮助到大家,可以继续讨论研究,提出质疑!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!




路漫漫其修远兮吾将上下而求索的意思,程序员,一定要多思考,多研究,亲身去验证一些问题,会更扎实!作软件是一件很值得思考的事情!

阅读全文
1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 淘宝评论被系统删除怎么办 淘宝被商家删除评价怎么办 淘宝评价管理商家删除了怎么办 淘宝商家删除评价我该怎么办 我的评价隐藏了怎么办 淘宝把评论删了怎么办 淘宝虚假交易被删除评价怎么办 淘宝好评评错了怎么办 被淘宝骗了好评怎么办 美团好评被删了怎么办 卖家收到好评内容是差评怎么办 淘宝收货电话写错了怎么办 淘宝评价写错了怎么办 饿了么商家差评怎么办 淘宝不给补差价怎么办 淘宝顾客给差评怎么办 淘宝买家账号体检违规怎么办 买家淘宝账户体检中心违规怎么办 淘宝卖家电话骚扰该怎么办 手机欠费销户了怎么办 想下载好多个淘宝怎么办 送快递不记得路怎么办 淘宝物流弄丢了怎么办 邮政快递碰上难缠客户怎么办 举证工伤对方不签收怎么办 快递员收件的钱怎么办 锐捷网卡是空的怎么办 mac系统excel太慢怎么办 二手车交易发票丢了怎么办 转转上买二手电脑被骗了怎么办 如果电脑买贵了怎么办 电脑配置低玩lol卡怎么办 电视打开显示无信号怎么办 电脑卡怎么办换个驱动 刚开始开淘宝店没人买怎么办 公司有人带自己电脑办公怎么办 组装电脑连不上网怎么办 显卡玩不起吃鸡怎么办 u盘内存是假的怎么办 新买的电脑应该怎么办 海尔一体机电脑开不开机怎么办