宣告隱含型別區域變數
C# 編譯程式會在幕後運作,以在您撰寫程式代碼時協助您。 它可以依變數的初始化值來推斷變數的數據類型。 在此單元中,您將了解這項稱為隱含型別區域變數的功能。
什麼是隱含型別區域變數?
隱含型別區域變數的建立會使用 var 關鍵字,後接變數初始化。 例如:
var message = "Hello world!";
在此範例中,已使用 var 關鍵詞建立字串變數,而不是 string 關鍵詞。
var關鍵詞會告訴 C# 編譯程式,數據類型是由指派的值所隱含。 隱含型別後,變數的行為就與使用實際數據類型宣告它時相同。 類型很冗長或內容中的類型很明顯時,var 關鍵字可用於節省按鍵輸入的次數。
在範例中:
var message = "Hello world!";
因為變數message會立即設定為 string 值"Hello World!",因此 C# 編譯程式會瞭解意圖,並將的每個實例視為 類型的message實例string。
事實上, message 變數的類型為 , string 而且永遠無法變更。 例如,請考慮下列程式碼:
var message = "Hello World!";
message = 10.703m;
如果您執行此程式碼,您會看到下列錯誤訊息。
CS0029: Cannot implicitly convert type 'decimal' to 'string'
備註
其他程式設計語言會以不同的方式使用 var 關鍵詞。 在 C# 中,不論您使用實際的數據類型名稱還是允許編譯程式隱含數據類型,變數都會由編譯程式指派類型。 換句話說,類型會在宣告時鎖定,因此永遠無法保存不同數據類型的值。
使用 var 關鍵詞的變數必須初始化。
請務必瞭解 var 關鍵詞取決於您用來初始化變數的值。 如果您嘗試使用 var 關鍵詞而不初始化變數,當您嘗試編譯程式代碼時,會收到錯誤。
var message;
如果您嘗試執行此程式碼,因為它會編譯,您會看到下列輸出:
CS0818: Implicitly-typed variables must be initialized
為什麼要使用 var 關鍵詞?
C# 社群已廣泛採用 關鍵詞 var 。 如果您查看書籍或在線的程式代碼範例,您可能會看到 var 使用的關鍵詞,而不是實際的數據類型名稱,因此請務必瞭解其使用方式。
關鍵詞 var 在 C# 中具有重要的用法。 許多時候,變數的類型從初始化中很明顯。 在這些情況下,使用 var 關鍵詞會更簡單。 規劃應用程式的程式代碼時,關鍵詞 var 也很有用。 當您開始開發工作的程式代碼時,可能不會立即知道要使用的資料類型。 使用 var 可協助您更動態地開發解決方案。
當您開始使用時,建議您在宣告變數時繼續使用實際的數據類型名稱,直到您更熟悉程式代碼為止。 當您宣告變數時,使用資料類型可協助您在撰寫程式代碼時有目的。
回顧
以下是您到目前為止已瞭解關鍵字 var 的內容:
- 關鍵詞
var會告知編譯程式根據變數初始化的值來推斷變數的數據類型。 - 您可能會在讀取其他人的程式代碼時看到
var關鍵詞;不過,您應該盡可能使用 資料類型。