1 class MyVar {  2     /* 3      * 基于安全的考慮,c#變量的初始化有一定的要求 4      * 1.所有的局部變量在被顯示的初始化之前,都會被編譯器當作未初始化,然后拋出編譯期出錯; 5      * 2.所有的字段級變量被編譯器初始化為所屬類型中等價于0的值.如布爾型的初始化為false,數值型的初始化為 6 或者0.0,所有引用類型都初始化為null. 7      * */ 8         PRivate string Name; 9         public void SaySomthing() {10             string info;11             Console.WriteLine(info);12         }13         /*14          * 上面的代碼中,Name是字段級變量,info是局部變量15          * 在編譯的時候就會報錯.(使用了未賦值的info)16          * 因為局部變量在使用時是必須要賦值的,而字段級的變量可以被編譯器自動初始化.         * 17          */18         /*19          * 各種數據類型的默認值20          * 整型的都返回021          * ushort 022          * ulong 023          * uint 024          * struct 整型的0,引用型的null25          * short 026          * sbyte 027          * long 028          * int 029          * float 0.0F30          * enum 枚舉類型下標為0的元素31          * double 0.0D32          * decimal 0.0M33          * char '/0'34          * byte 035          * bool flase36          */37         /*38          從C#3.0開始,引入了var關鍵字,編譯器可以通過它的初始值來判斷具體類型.39          * 根據上面的綜述,var只能用于局部變量的聲明,不能用于字段級別的聲明,并且var聲明的變量必須要有初始值,這樣編譯器才能判斷變量的類型.40          */41     }新聞熱點
疑難解答