1. 程式人生 > >C#中對於變量的聲明和初始化

C#中對於變量的聲明和初始化

最好 編譯 return 它的 con code 數據 類型安全 狀態

  C#變量初始化是C#強調安全性的另一個例子。簡單地說,C#編譯器需要用某個初始值對變量進行初始化,之後才能在操作中引用該變量。大多數現代編譯器把沒有初始化標記為警告,但C#編譯器把它當作錯誤來看待。

1.在C#中,變量的聲明格式為:

  數據類型 變量名;

2.變量的賦值格式為:

  變量名 = 數據;

3.一般情況下,都是先聲明後賦值,或者在聲明變量的同時就賦初值。然而有些時候在程序的開發設計中,往往忘了要賦初值(即進行初始化),這樣就會導致在程序的設計中,會出現意想不到的錯誤。

解釋:當我們在聲明一個變量的時候,此時會進行內存分配(比如int i;此時會在堆棧上分配4個字節),也就是在進行變量聲明時會進行內存的分配,以保存該類型對應的值。至於我們聲明一個變量後不進行賦值便使用,此時是編譯器會報錯,錯誤提示是:使用了一個未賦值的變量。在.NET中有一個概念應該是大家都很熟悉的,那就是類型安全。何為類型安全,這個提問應該說是個最好的例證。如果有註意,在.NET編譯器中,對未賦值的變量進行使用的時候,編譯器會提示這是個錯誤,而在其他語言編譯器中對未賦值變量的使用提示的是警告。

4.C#中使用兩種方式保證類型安全:

1)變量是類或者結構中的字段,如果沒有進行顯示賦值,在默認狀態下創建相應變量時,其值為對應類型默認值。

2)方法的局部變量必須在代碼中顯示初始化,之後才可以在語句中進行使用。初始化不是在聲明變量時進行的,編譯器會通過檢查所有可能的路徑,如果檢測到局部變量在初始化之前就使用了它的值,編譯器就會產生錯誤。

1 public static void Main()
2 {
3     int a;
4     Console.WriteLine(a);
5     return;
6 }

以上代碼在編譯器中報:Use of unassigned local variable ‘d‘ (

使用了未賦值的局部變量“a”)。

雖然這種保護機制讓人很煩,不過為了養成良好的變成習慣,還是應該使用變臉的時候,要在聲明變量的同時進行初始化,以免給自己帶來不必要的麻煩。

C#中對於變量的聲明和初始化