練習 - 設定並從變數取得值
由於變數是資料的暫存儲存體容器,因此其旨在提供「寫入」及「讀取」。 在下列練習中,您將有機會執行這兩個動作。
練習 - 使用變數
在此練習中,您將宣告變數、為其指派值、擷取其值等等。
建立您的第一個變數
在 .NET 編輯器中選取所有程式碼,並按刪除鍵或退格鍵以刪除該程式碼。
在程式碼編輯器中輸入下列程式碼:
string firstName; firstName = "Bob";
若要宣告變數,請輸入您想要使用的資料類型,後面接著變數的名稱。 若要指派值給變數,您可以使用指派運算子,也就是單一等號字元 =
。
注意
指派值也稱為「設定變數」,或簡稱為「設定」作業。
將值錯誤地指派給變數
請務必注意,指派會由右至左進行。 換句話說,C# 編譯器必須先了解指派運算子右側的值,然後才可以對指派運算子左側的變數執行指派。 如果您反轉順序,將會造成 C# 編譯器混淆。
修改您所撰寫的程式碼,以符合下列程式碼:
string firstName; "Bob" = firstName;
現在,執行程式碼。 您會在輸出主控台中看到下列錯誤:
(2,1): error CS0131: The left-hand side of an assignment must be a variable, property or indexer
將不正確資料類型的值錯誤地指派給變數
您已了解 C# 是設計來強制執行類型。 當您在使用變數時,「實施類型」表示您無法將一個資料類型的值,指派給宣告為保留不同資料類型的變數。
修改您所撰寫的程式碼,以符合下列程式碼:
int firstName; firstName = "Bob";
現在,執行程式碼。 您會在輸出主控台中看到下列錯誤:
(2,9): error CS0029: Cannot implicitly convert type 'string' to 'int'
針對 C# 編譯器在幕後嘗試執行之動作的錯誤訊息提示。 其會嘗試將字串 "Bob"「隱含轉換」為 int 值;不過這是不可能的。 即便如此,C# 還是嘗試進行轉換,但失敗,因為「Bob」一詞沒有對等的數值。
稍後您將深入了解隱含和明確類型轉換。 現在,只要記住變數只能保存符合其指定資料類型的值。
取出您儲存在變數中的值
若要從變數取出值,您只需要使用變數的名稱。 這個範例會設定變數的值,然後擷取該值,並將它顯示在主控台中。
修改您所撰寫的程式碼,以符合下列程式碼:
string firstName; firstName = "Bob"; Console.WriteLine(firstName);
現在,執行程式碼。 您會在輸出主控台中看到下列結果:
Bob
從變數中取得值也稱為「取得變數」,或簡稱為「取得」作業。
當您撰寫程式程式碼時,您會看到編譯器正在檢查您的程式碼併發現可能的錯誤。 編譯器是一個絕佳的工具,可協助您更快獲得程式碼正確無誤。 現在您已熟悉不同類型的錯誤,您可以透過編譯器錯誤訊息的協助快速修正錯誤。
重新指派變數的值
您可以視需要多次重複使用及重新指派變數。 此範例將說明該概念。
修改您所撰寫的程式碼,以符合下列程式碼:
string firstName; firstName = "Bob"; Console.WriteLine(firstName); firstName = "Liem"; Console.WriteLine(firstName); firstName = "Isabella"; Console.WriteLine(firstName); firstName = "Yasmin"; Console.WriteLine(firstName);
現在,執行程式碼。 您會在輸出主控台中看到下列結果:
Bob Liem Isabella Yasmin
初始化變數
您必須將變數設定為值,才能從變數取得值。 否則,您會看到錯誤。
修改您所撰寫的程式碼,以符合下列程式碼:
string firstName; Console.WriteLine(firstName);
現在,執行程式碼。 您會在輸出主控台中看到下列結果:
(2,19): error CS0165: Use of unassigned local variable 'firstName'
為避免出現未指派的區域變數,建議您在宣告之後儘快設定此值。
事實上,您可以在程式碼中,同時執行宣告及設定變數的值。 此技術稱為「初始化」變數。
修改您所撰寫的程式碼,以符合下列程式碼:
string firstName = "Bob"; Console.WriteLine(firstName);
現在,執行程式碼。 您應該會看見下列輸出:
Bob
概括回顧
以下是您到目前為止已了解如何使用變數的內容:
- 您必須先將值指派 (設定) 給變數,才能從變數擷取 (取得) 值。
- 您可以在宣告時將值指派給變數,以初始化變數。
- 指派會由右到左進行。
- 您可以使用單一等號字元作為指派運算子。
- 若要擷取變數的值,您只需要使用變數的名稱。