接受使用者輸入

已完成

Tip

有關更多詳細信息,請參閱 文本和圖像 選項卡!

程式真正強大的是,當它們能與使用者互動時。 C# Console.ReadLine() 的方法允許你暫停程式,等待使用者輸入內容,並擷取該資訊。

使用 Console.ReadLine()

把這個 Console.ReadLine() 方法想像成一個問題題。 當你的程式遇到這行時,會等使用者輸入答案並按下 Enter 鍵後繼續。

要儲存使用者的答案,你必須使用變數「捕捉」它:

string favoriteColor = Console.ReadLine();
Console.WriteLine("Oh, I love " + favoriteColor + " too!");

在此程式碼中, favoriteColor 是一個變數(儲存一個值的容器)。 當你執行這個程式時,它會等待輸入。 如果使用者輸入 Orange 並按下 Enter,輸出為:

Orange
Oh, I love Orange too!

你可以自己用 C# 程式碼編輯器執行這段程式碼。

在提示詞結尾加個空格

為了讓使用者輸入更易讀,請結合Console.Write():Console.ReadLine()

Console.Write("What is your favorite color? ");
string favoriteColor = Console.ReadLine();
Console.WriteLine("Oh, I love " + favoriteColor + " too!");

請注意提示末尾的空格: "What is your favorite color? "。 沒有它,使用者的輸入看起來會像是和你的文字黏在一起:What is your favorite color?Orange。 加個空格會讓它更清楚。

了解資料型態

C# 中的每個值都有一個 資料型別,告訴電腦該值是什麼樣的值。 一些常見的資料類型包括:

  • 字串(string):以引號包裹的文字,如 "Blue""25"或 。 即使是數字,只要在引號內也會變成文字。
  • 整數(int):無引號的整數,如 25 或 100。 你可以用這些做數學。

為何這有關係? C# 對這兩種類型有不同的處理方式。 你可以把數字加在一起(25 + 1 等 26於),但沒有特別處理,無法直接把數字加到文字裡。

Console.ReadLine() 總是回傳一個字串

一個必須記住的重要規則是,即使使用者輸入數字,也必須Console.ReadLine()回傳文字(字串)。 例如:

string age = Console.ReadLine();
Console.WriteLine(age + 1); // This causes an error!

如果你執行這段程式碼並輸入 25,程式就不會列印 26出 。 相反地,它會嘗試在文字"25"中加入 1 ,這是 C# 不允許的。 這是新手常見的錯誤!

要用使用者輸入做數學運算,你得先把文字轉換成數字——不過我們稍後會詳細說明。 暫時請記得:使用者輸入的內容永遠被視為文字。