C#でキーボードからデータを読み取る
このレッスンでは、Console.ReadLineでユーザーの入力を読み取り、int.TryParseで安全に数値へ変換します。
はじめに
Console.ReadLineメソッドはプログラムを止めて、ユーザーが1行入力してEnterキーを押すのを待ち、入力された行を文字列として返します。受け取るデータは常に文字列なので、計算の前に数値へ変換する必要があり、ユーザーが間違った入力をした場合も処理しなければなりません。
Console.ReadLineは、入力がもう残っていないときにnullを返すことがあるので、演算子??で"friend"のような既定値を用意しています。int.TryParseメソッドは文字列を数値に変換しようとし、文字列が不正ならエラーを起こさずfalseを返します。結果は変数out int ageで受け取ります。オンラインコンパイラで実行するときは、メッセージが表示されたら答えを入力してください。
実行できる C# の例
C#
Program.cs
using System;
class Program
{
static void Main()
{
// Console.ReadLine returns the typed line, or null when input ends.
Console.Write("What is your name? ");
string name = Console.ReadLine() ?? "friend";
// int.TryParse converts text safely instead of throwing on bad input.
Console.Write("How old are you? ");
string text = Console.ReadLine() ?? "";
if (int.TryParse(text, out int age))
{
Console.WriteLine($"Hello, {name}!");
Console.WriteLine($"In 10 years you will be {age + 10}.");
}
else
{
Console.WriteLine($"\"{text}\" is not a whole number.");
}
}
}
What is your name? Ada
How old are you? 29
Hello, Ada!
In 10 years you will be 39.デバッガーで練習する
大事な代入や条件にブレークポイントを置いて Debug を押し、次の行に進む前にローカル変数の値を確かめましょう。
チャレンジで練習する
このレッスンの内容を使って実際の問題を解きましょう。各チャレンジはブラウザで動き、すぐにテストされ、AI のレビューも受けられます。
すべてのチャレンジ