namespace ConsoleApplication1
{
    /// <summary>
    /// 作者:it小金
    /// 功能:c#只讀字段和常量的區別,以及靜態構造函數的使用
    /// </summary>
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(test.a);
            Console.WriteLine(test.b);
            Console.Read();
        }
    
    }
    public class test
    {
        public static readonly int b;//只讀字段可以使用static關鍵字,只讀字段可以不進行初始化賦值,只讀字段只能在構造函數或變量初始化時進行賦值
        public const int a=1;//常量不可以使用static關鍵字,常量必須在定義的時候進行初始化進行賦值
       static test()//靜態構造函數,類實例化之前調用執行,且只執行一次
        {
            b = 2;//因為是只讀字段,所以只能在構造函數中進行初始化,且改只讀字段為static類型,所以需在靜態構造函數中進行賦值
        }
        void aa()
        {
            //a = 1;錯誤
            //b=1;錯誤
        }
        
    }
}
新聞熱點
疑難解答