C# の基礎

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 のレビューも受けられます。

すべてのチャレンジ