C#の出力と入力の基本をマスター!初心者でもわかるConsole.WriteLine()とConsole.ReadLine()の使い方
生徒
「C#で文字を画面に表示したり、キーボードから入力するにはどうすればいいんですか?」
先生
「C#では、Console.WriteLine()で文字を出力し、Console.ReadLine()で入力を受け取ることができますよ。」
生徒
「それは便利ですね!初心者でもすぐ使えますか?」
先生
「もちろんです!初心者の方にもわかりやすく説明していきますね。」
1. Console.WriteLine()とは?文字を画面に出力する方法
Console.WriteLine()は、C#で最もよく使われる命令(めいれい)のひとつです。この命令を使うことで、画面(コンソール)に文字や数字などを表示させることができます。
たとえば、パソコンに「こんにちは!」と表示したいときは、次のように書きます。
Console.WriteLine("こんにちは!");
このように、カギカッコ(")で囲んだ文字を画面に表示できます。
実行すると、次のように出力されます。
こんにちは!
このように、文字をそのまま画面に見せることができます。Consoleは「コンソール」という意味で、パソコン画面のことです。WriteLineは「書いて、次の行へ移動する」という意味です。
2. Console.ReadLine()とは?キーボードから文字を入力する方法
Console.ReadLine()は、キーボードから文字を入力するための命令です。
ユーザーがキーボードで文字を入力し、エンターキーを押すと、その入力された文字をC#のプログラムが読み取ります。
次のコードを見てみましょう。
string name = Console.ReadLine();
このコードは、入力された文字をnameという入れ物(変数)に入れています。string(ストリング)は「文字列(もじれつ)」の意味で、文字の集まりのことをいいます。
3. Console.WriteLine()とConsole.ReadLine()を組み合わせてみよう
では、今までの知識を使って、画面に「あなたの名前は何ですか?」と表示し、キーボードで名前を入力してもらい、それを使ってあいさつをするプログラムを作ってみましょう!
Console.WriteLine("あなたの名前は何ですか?");
string name = Console.ReadLine();
Console.WriteLine("こんにちは、" + name + "さん!");
このプログラムを実行すると、まず画面に「あなたの名前は何ですか?」と表示されます。
その後、キーボードで名前を入力すると、次のような結果になります。
あなたの名前は何ですか?
たろう
こんにちは、たろうさん!
+の記号は「文字と文字をくっつける」ために使います。これを文字列の結合といいます。
4. 入力された値を保存する「変数(へんすう)」ってなに?
先ほど使ったstring name = Console.ReadLine();の中に出てきた「変数(へんすう)」という考え方について、少し説明します。
変数とは、「データを一時的にしまっておく箱」のようなものです。
例えば、入力された名前をnameという変数に入れておけば、あとでその名前を使って、あいさつや表示に使うことができます。
stringは、その箱が「文字専用」であることを意味します。
5. 数字も入力できるの?int型を使ってみよう
Console.ReadLine()で入力できるのは、実は文字だけではありません。
でも注意点があります。Console.ReadLine()で読み取った値は、すべて文字列(string)として扱われます。数字として使いたい場合は、変換(へんかん)が必要です。
例えば、年齢を数字で入力したいときは、次のように書きます。
Console.WriteLine("あなたの年齢は何歳ですか?");
string ageText = Console.ReadLine();
int age = int.Parse(ageText);
Console.WriteLine("あなたは" + age + "歳ですね。");
int(イント)は「整数(せいすう)=小数点のない数字」のことです。
int.Parse()という命令を使って、文字列を整数に変換しています。
実行例は次のとおりです。
あなたの年齢は何歳ですか?
25
あなたは25歳ですね。
ただし、文字や変な記号を入れるとエラーになりますので、初心者のうちは数字を正しく入れるようにしましょう。
6. 複数の入力と出力を組み合わせて、ちょっとした会話風にしてみよう
それでは最後に、名前と年齢の両方を入力してもらい、それを使って簡単な会話をするプログラムを紹介します。
Console.WriteLine("こんにちは!お名前を教えてください。");
string name = Console.ReadLine();
Console.WriteLine("何歳ですか?");
string ageText = Console.ReadLine();
int age = int.Parse(ageText);
Console.WriteLine(name + "さんは、" + age + "歳なんですね!");
このように、Console.WriteLine()とConsole.ReadLine()を使えば、簡単な会話形式のプログラムも作れます。
まとめ
C#でプログラムを学び始めたとき、最初に触れる機能として多くの人が使うのが、コンソール画面への出力とキーボードからの入力です。今回の記事では、画面に文字を表示するためのConsole.WriteLine()、キーボードから文字を受け取るConsole.ReadLine()という二つの命令を中心に、実行結果の変化や、変数を組み合わせた便利な使い方をじっくり紹介しました。初めてコードを書く人にとっては、画面に文字が表示されるだけでも大きな感動がありますが、そこに入力機能が加わると、より人間に近い会話のような動きを表現できるようになります。
文字をそのまま出力するのも良いですが、変数と組み合わせることで、入力された値をあとから使うことができ、同じ文章を繰り返し書かなくても一度保存して活用できるのがプログラミングの面白さです。「あなたの名前は?」と質問し、返された文字を利用して「こんにちは、〇〇さん!」と表示できるしくみは、小さなプログラムであっても実用性と温かみがあります。
また、ただ文字を保存するだけでなく、int型を使えば数字として扱えるようになり、年齢や点数など、計算に利用できる情報として取り扱うことができます。文字列を整数へ変換するint.Parse()は、数字として扱うために欠かせない存在で、こうした小さな仕組みが集まると、アンケート、診断ツール、計算アプリなど、幅広いプログラムに応用できるようになります。
コンソールアプリは一見シンプルですが、入力を待つ、文章を返す、値を変換する、計算する、表示する、といった動作の積み重ねがそのまま本格的なアプリでも使われている考え方です。「自分が入力した文字に対して返事が返ってくる」という体験は、初心者にとって理解を支える力になり、プログラミングの楽しさをはっきり感じられる瞬間でもあります。
以下は、名前と年齢をもとに少し丁寧なあいさつを返すサンプルです。
Console.WriteLine("ようこそ!お名前を入力してください。");
string name = Console.ReadLine();
Console.WriteLine("年齢を入力してください。");
string ageText = Console.ReadLine();
int age = int.Parse(ageText);
Console.WriteLine(name + "さんのご来場、ありがとうございます。");
Console.WriteLine(age + "歳という節目の年を楽しく過ごしてください。");
このように、出力と入力をつなぐだけで、丁寧な案内文やシンプルな受付システムのような動作が実現できるようになります。たった数行のコードでも、意味のある結果を作れることを実感できれば、さらに複雑なプログラムへ挑戦してみたくなるはずです。今後は、計算をしたり条件によって結果を変えたり、入力内容をチェックしたりと、できることがどんどん広がっていきます。じっくり手を動かしながら、理解したことを積み重ねていきましょう。
生徒
「Console.WriteLine()だけでも便利なのに、Console.ReadLine()を使ったら、自分の入力に反応してくれるから、すごく面白かったです!」
先生
「プログラムと会話できるように感じるのは楽しいよね。入力を受け取って、それを使って出力できると、一気にできることが増えるんだ。」
生徒
「名前や年齢を変数に保存できるのも便利ですね。同じ値を何度も書かなくていいし、ほかの文章にも使えます。」
先生
「その通り。変数は箱のようなものだから、一度入れておけば好きな場所で取り出せる。数字を扱うときはint型やint.Parse()を覚えておくと、計算や判定にも応用できるようになるよ。」
生徒
「今度は入力された年齢を使って、条件で振り分けたりしてみたいです!例えば、20歳以上なら『大人ですね』って表示するみたいな。」
先生
「そのアイデアは素晴らしいね。入力と出力ができるようになった今なら、if文と組み合わせるだけで実現できるよ。今日学んだ内容は、次のステップにもつながる大事な基礎だから、自信を持って進んでいこう。」