TECH I.S.

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.' など) が表示されます。

詳しくはこちら例外の章でエラーを処理する方法について説明します。


プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細