C# 静态构造函数

1、在类实例被初始化的时候执行

2、在类的静态成员被调用的时候执行

3、静态构造函数只会被执行一次,代码如下:

  static class Program
    {
        static void Main(string[] args)
        {
            Test.TestIns.Flag = Test.TestIns.Flag + 1;
            Console.WriteLine(Test.TestIns.Flag);
            Test.TestIns.Flag = Test.TestIns.Flag + 1;
            Console.WriteLine(Test.TestIns.Flag);
            Test.TestIns.Flag = Test.TestIns.Flag + 1;
            Console.WriteLine(Test.TestIns.Flag);
            Console.ReadKey();
        }
    }

    public class Test
    {
        static Test()
        {
            TestIns = new Test();
        }

        public static Test TestIns;

        public int Flag=0;
    }

说明静态构造函数只执行了一次,并将该实例初始化到了内存中.所以结果会显示成累加的情况

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技术博客

编写高质量代码改善C#程序的157个建议[勿选List<T>做基类、迭代器是只读的、慎用集合可写属性]

  本文已更新至http://www.cnblogs.com/aehyok/p/3624579.html 。本文主要学习记录以下内容:

15030
来自专栏技术博客

一步一步学Linq to sql(一):预备知识

  Linq to sql(或者叫DLINQ)是LINQ(.NET语言集成查询)的一部分,全称基于关系数据的 .NET 语言集成查询,用于以对象形式管理关系数据...

9710
来自专栏landv

从零开始学习C#——HelloWorld(一)

14750
来自专栏程序你好

理解C#语言中相等Equality 和唯一 Identity

10720
来自专栏技术博客

Asp.net MVC后台 XML、DataTable、DataSet之间的数据转换

  上面的方法只是将XMl字符串读入到DataSet中,然后再冲DataSet中查找先前定义过的DataTable即可。

15020
来自专栏跟着阿笨一起玩NET

DataGridView绑定BindingList<T>带数据排序的类

本文章转载:http://yuyingying1986.blog.hexun.com/30905610_d.html

9410
来自专栏大内老A

由for V.S. for each想到的

一直想写一系列如何提高Performance和Scalability的文章,把我的相关经验和所知道的相关的技巧同大家分享。前一阵在园子里有一篇讨论for eac...

19580
来自专栏二进制文集

JSON Java 解析

要使程序可以运行必须引入JSON-lib包——org.json.jar包。综合来看,这个JAR包比较好用。

18620
来自专栏码农阿宇

关于C#委托的一些学习笔记

1.什么是委托就是把方法作为参数传给另一个方法。委托说指向的函数,必须和函数具有相同的签名(返回值和参数类型) Public delegate void D...

27970
来自专栏hbbliyong

C#基础知识回顾-- 反射(3)

获取Type对象的构造函数: 前一篇因为篇幅问题因为篇幅太短被移除首页,反射这一块还有一篇“怎样在程序集中使用反射”, 其他没有什么可以写的了,前两篇主要是铺...

30160

扫码关注云+社区

领取腾讯云代金券