練習 - 設定並從變數取得值

已完成

由於變數是資料的暫存儲存體容器,因此其旨在提供「寫入」及「讀取」。 在下列練習中,您將有機會執行這兩個動作。

練習 - 使用變數

在此練習中,您將宣告變數、為其指派值、擷取其值等等。

建立您的第一個變數

  1. 在 .NET 編輯器中選取所有程式碼,並按刪除鍵退格鍵以刪除該程式碼。

  2. 在程式碼編輯器中輸入下列程式碼:

    string firstName;
    firstName = "Bob";
    

若要宣告變數,請輸入您想要使用的資料類型,後面接著變數的名稱。 若要指派值給變數,您可以使用指派運算子,也就是單一等號字元 =

注意

指派值也稱為「設定變數」,或簡稱為「設定」作業。

將值錯誤地指派給變數

請務必注意,指派會由右至左進行。 換句話說,C# 編譯器必須先了解指派運算子右側的值,然後才可以對指派運算子左側的變數執行指派。 如果您反轉順序,將會造成 C# 編譯器混淆。

  1. 修改您所撰寫的程式碼,以符合下列程式碼:

    string firstName;
    "Bob" = firstName;
    
  2. 現在,執行程式碼。 您會在輸出主控台中看到下列錯誤:

    (2,1): error CS0131: The left-hand side of an assignment must be a variable, property or indexer
    

將不正確資料類型的值錯誤地指派給變數

您已了解 C# 是設計來強制執行類型。 當您在使用變數時,「實施類型」表示您無法將一個資料類型的值,指派給宣告為保留不同資料類型的變數。

  1. 修改您所撰寫的程式碼,以符合下列程式碼:

    int firstName;
    firstName = "Bob";
    
  2. 現在,執行程式碼。 您會在輸出主控台中看到下列錯誤:

    (2,9): error CS0029: Cannot implicitly convert type 'string' to 'int'
    

針對 C# 編譯器在幕後嘗試執行之動作的錯誤訊息提示。 其會嘗試將字串 "Bob"「隱含轉換」為 int 值;不過這是不可能的。 即便如此,C# 還是嘗試進行轉換,但失敗,因為「Bob」一詞沒有對等的數值。

稍後您將深入了解隱含和明確類型轉換。 現在,只要記住變數只能保存符合其指定資料類型的值。

取出您儲存在變數中的值

若要從變數取出值,您只需要使用變數的名稱。 這個範例會設定變數的值,然後擷取該值,並將它顯示在主控台中。

  1. 修改您所撰寫的程式碼,以符合下列程式碼:

    string firstName;
    firstName = "Bob";
    Console.WriteLine(firstName);
    
  2. 現在,執行程式碼。 您會在輸出主控台中看到下列結果:

    Bob
    

從變數中取得值也稱為「取得變數」,或簡稱為「取得」作業。

當您撰寫程式程式碼時,您會看到編譯器正在檢查您的程式碼併發現可能的錯誤。 編譯器是一個絕佳的工具,可協助您更快獲得程式碼正確無誤。 現在您已熟悉不同類型的錯誤,您可以透過編譯器錯誤訊息的協助快速修正錯誤。

重新指派變數的值

您可以視需要多次重複使用及重新指派變數。 此範例將說明該概念。

  1. 修改您所撰寫的程式碼,以符合下列程式碼:

    string firstName;
    firstName = "Bob";
    Console.WriteLine(firstName);
    firstName = "Liem";
    Console.WriteLine(firstName);
    firstName = "Isabella";
    Console.WriteLine(firstName);
    firstName = "Yasmin";
    Console.WriteLine(firstName);
    
  2. 現在,執行程式碼。 您會在輸出主控台中看到下列結果:

    Bob
    Liem
    Isabella
    Yasmin
    

初始化變數

您必須將變數設定為值,才能從變數取得值。 否則,您會看到錯誤。

  1. 修改您所撰寫的程式碼,以符合下列程式碼:

    string firstName;
    Console.WriteLine(firstName);
    
  2. 現在,執行程式碼。 您會在輸出主控台中看到下列結果:

    (2,19): error CS0165: Use of unassigned local variable 'firstName'
    

為避免出現未指派的區域變數,建議您在宣告之後儘快設定此值。

事實上,您可以在程式碼中,同時執行宣告及設定變數的值。 此技術稱為「初始化」變數。

  1. 修改您所撰寫的程式碼,以符合下列程式碼:

    string firstName = "Bob";
    Console.WriteLine(firstName);
    
  2. 現在,執行程式碼。 您應該會看見下列輸出:

    Bob
    

概括回顧

以下是您到目前為止已了解如何使用變數的內容:

  • 您必須先將值指派 (設定) 給變數,才能從變數擷取 (取得) 值。
  • 您可以在宣告時將值指派給變數,以初始化變數。
  • 指派會由右到左進行。
  • 您可以使用單一等號字元作為指派運算子。
  • 若要擷取變數的值,您只需要使用變數的名稱。