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 }
新聞熱點
疑難解答