zoukankan      html  css  js  c++  java
  • C#的静态构造函数

            “静态构造函数”典型应用于第一次使用类时的初始化工作,注意“第一次”,意思是它只执行一次。

            有同学说了,类的初始化不是有构造函数嘛?我们回答:构造函数是每个实例被声明时都会执行的,它属于每一个实例,而静态构造函数却属于这个类本身。

            比如,现在各大学校马上开学了,这有个学号问题,学校规定:2013年入学的学生的学号统一编为“13xxxx”。那么这个初始值13xxxx就是这个学生这个类群共有的一个牲,而并不是属于某一个学生;而学号、姓名等都是某个学生独有的属性。

            根据静态构造函数只执行一次的特征,学校学生管理系统在某个配置文件里写了“130001”这个数字,学校管理系统一运行立马读取了这个数字,管理系统一看,噢,让我从130001开始编学号啊!

            代码编写时,我们先来建一个学生类

    class Student
        {
            //先建立这个类所有的一个属性:起始学号
            private static int _startNumber;
            //静态构造函数用于读取配置文件或数据库中所设的起始数字。
            static Student()
            {
                _startNumber = 130001;      //假设这里我们是从配置文件中读取的130001
            }
    
            //学号字段
            private int _code;
            //学号属性
            public int Code
            {
                get { return _code; }
                set { _code = value; }
            }
    
            //每次实例对象的时候学号自增1
            public Student()
            { 
                this._code=(_startNumber++);
            }


    我们实例两个学生试试:

    class Program
        {
            static void Main(string[] args)
            {
                Student s1 = new Student();
                Console.WriteLine(s1.Code);
    
                Student s2 = new Student();
                Console.WriteLine(s2.Code);
            }
        }


    结果:

    130001

    130002


            

  • 相关阅读:
    数据库命令基本操作
    26、驱动模块和桩模块的概念和区别
    图像的均值、均方值、方差、均方差、标准差
    67、反射机制
    66、线程的生命周期
    PHP 的 SAPI 是个什么东西(转)
    无需重新编译安装PHP扩展的方法
    swoole之创建子进程
    swoole之异步文件IO
    swoole之任务和定时器
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3299529.html
Copyright © 2011-2022 走看看