← C#

LESSON / ARTICLE

キーボードから入力を受け取る

Console.ReadLineで入力を受け取り、数値へ変換して計算します。

キーボードから入力を受け取る

競技プログラミングや自動採点形式の問題では、入力を読み取り、その内容から答えを計算して出力します。

1行の入力を読む

Console.ReadLine() は、標準入力から1行を読み取ります。戻り値は文字列で、入力がなくなった場合は null です。

string name = Console.ReadLine() ?? "";
Console.WriteLine(

string name = Console.ReadLine() ?? "";
Console.WriteLine(WTLDL4B_DIRECTIVE_PLACEHOLDER_0quot;Hello, {name}!");

quot;Hello, {name}!");

数値に変換する

文字列を整数に変換するには int.Parse を使えます。

int first = int.Parse(Console.ReadLine() ?? "0");
int second = int.Parse(Console.ReadLine() ?? "0");
Console.WriteLine(first + second);

入力が必ず整数であると保証されている課題では、Parse が簡潔です。入力が正しいとは限らないアプリケーションでは、int.TryParse を使うと変換に失敗した場合も安全に処理できます。

string? text = Console.ReadLine();

if (int.TryParse(text, out int value))
{
    Console.WriteLine(value * 2);
}
else
{
    Console.WriteLine("整数を入力してください。");
}

入力形式を読む

入力が複数行なら、必要な行数だけ Console.ReadLine() を呼びます。1行に複数の値が空白区切りで与えられる場合は、Split で分割します。

string[] parts = (Console.ReadLine() ?? "").Split(
    ' ',
    StringSplitOptions.RemoveEmptyEntries
);

int a = int.Parse(parts[0]);
int b = int.Parse(parts[1]);
Console.WriteLine(a + b);

問題を解く前に、入力例だけでなく「入力形式」と「制約」を確認しましょう。