C# ユーザー入力
ユーザー入力の取得
Console.WriteLine()
が値を出力(印刷)するために使われることは、すでに学びました。今度は、Console.ReadLine()
を使ってユーザー入力を取得します。
次の例次の例では、ユーザーは自分のユーザー名を入力でき、それは変数 userName
に保存されます。 次に、userName
の値を出力します。
例
{.language-csharp .techis-white}
// Type your username and press enter
Console.WriteLine("Enter username:");
// Create a string variable and get user input from the keyboard and store it in the variable
string userName = Console.ReadLine();
// Print the value of the variable (userName), which will display the input value
Console.WriteLine("Username is: " + userName);
ユーザー入力と数字
Console.ReadLine()
メソッドはstring
を返します。したがって、int
型などの別のデータ型から情報を取得することはできません。以下のプログラムはエラーになります。
例
{.language-csharp .techis-white .techis-border-red}
Console.WriteLine("Enter your age:");
int age = Console.ReadLine();
Console.WriteLine("Your age is: " + age);
エラーメッセージは次のようになります。
Cannot implicitly convert type 'string' to 'int'
エラーメッセージにあるように、型「string」を「int」に暗黙的に変換することはできません。
幸いなことに、あなたは前の章(型キャスト)で、Convert.To
メソッドを使用して、任意の型を明示的に変換できます。
例
{.language-csharp .techis-white}
Console.WriteLine("Enter your age:");
int age = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Your age is: " + age);
注:間違った入力 (数値入力のテキストなど) を入力すると、例外/エラーメッセージ (System.FormatException: 'Input string was not in a correct format.' など) が表示されます。
詳しくはこちら例外の章でエラーを処理する方法について説明します。
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。