C# static 靜態構造函數

static   靜態構造函數,

1、用於對靜態數據的初始化

2、前面不能有參數不能有修飾符,不能被調用

3、當類被加載時,類的靜態構造函數自動被調用,最多隻執行一次

class Program
    {
        private static int count = 0;
        static Program()
        {
            Console.WriteLine("我是靜態構造函數,我被加載了!");
            count++;
            Console.WriteLine(count);
        }
        public Program()
        {
            Console.WriteLine("我是公共構造函數,我被加載了!");
            count++;
        }
        static void Main(string[] args)
        {
            Program o1 = new Program();//在此處兩個構造函數都調用
            Console.WriteLine("----------");
            Program o2 = new Program();//只調用第二個構造函數
            Console.WriteLine(count);
            Console.Read();
        }
    }
    
    /* 代碼運行結果:
    
    我是靜態構造函數,我被加載了!
    1
    我是公共構造函數,我被加載了!
    ----------
    我是公共構造函數,我被加載了!
    3
    
    */


還有就是關於構造函數前面不能有訪問修飾符,默認的是public,如果改爲private和protected之類的修飾符的話是不行,因爲private的訪問權限只能使本類中,這就說明了如果外部要實例化此類的一個對象的話就不行了,其他的同理。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章