画面を通じてメッセージ
みなさん、おつかれさまです。
後藤です。
どうですか、C#?
開発環境を作って、初めてプログラミングをして、
もうお腹いっぱいですか?
『Hello World!を画面に表示したって、面白くもなんともない』とか思っていませんか?
そんなみなさんのために、今回はもうちょっと面白いプログラムを用意しました。
チャットのように文字を入力できるようにしたり、
それに応じて文字を出力させるプログラムです。
今日の流れは以下の通り。
- おさらい
- 標準出力
- 標準入力
- 標準出力と標準入力の組み合わせ
- 実習
- まとめ
1. おさらい
前回は、Macのターミナルの画面に『Hello World!』を出力してもらいましたね。
このように、コマンドラインの画面に文字列を出力してもらうことを、標準出力と呼びます。
逆に、コマンドラインから文字列を入力して、コンピュータに読んでもらうこともできます。
これを、標準入力と言います。
2. 標準出力
コマンドライン画面に文字列を表示するのが標準出力です。
C#では、なんども出てきた、Console.WriteLine()を使うのが定番。
意味は、『コマンドライン画面(Console)が、()の中身を、最後に改行こみで表示(WriteLine)する。』です。
実は、もう一つよく使われる標準出力があります。違いを見てみましょう。
- Console.WriteLine()
- Console.Write()
最後に改行を入れます
最後に改行を入れません
Visual Studio for Macで新規プロジェクトを立ち上げて、
Program.csファイルに以下のコードを打ち込んでください。
コード例
using System; namespace StandardOutput { class MainClass { public static void Main(string[] args) { // 下は改行あり出力 Console.WriteLine("H"); Console.WriteLine("i"); Console.WriteLine("!"); // 下は改行なし出力 Console.Write("H"); Console.Write("i"); Console.Write("!"); } } }
3. 標準入力
コマンドラインから、ユーザーに文字を入力してもらうのが、標準入力。
Console.ReadLine()はEnterを押すまでに入力された文字列を全て読み取ります。
コード例
using System; namespace StandardInput { class MainClass { public static void Main(string[] args) { Console.WriteLine("Console.ReadLine()"); // 1行ずつ読み取ります。 Console.ReadLine(); } } }
4. 標準出力と標準入力の組み合わせ
ややトリッキーですが、読み取ったものをそのまま出力することもできます。
コード例
using System; namespace CombinationOfStandardOutputAndInput { class MainClass { public static void Main(string[] args) { Console.WriteLine("読み取り開始"); // 1. Console.ReadLine()で、文字列を入力してもらう。 // 2. Console.Write()で、入力してもらった文字列を出力(改行なし) Console.Write(Console.ReadLine()); // 次の文字列を出力 Console.Write("を読み取りましたよ。"); } } }
5. 実習
いよいよ今日の仕上げです。
以下のコードを打ち込んでみてください。
あとは、ターミナルで実行してみましょう。
無事お返事が帰ってくるかな?
コード例
using System; namespace ConsoleChatting { class MainClass { public static void Main(string[] args) { // 文字列を出力(改行あり) Console.WriteLine("お名前を教えてください。"); // 1. Console.ReadLine()で、名前を入力してもらう。 // 2. Console.Write()で、入力してもらった名前を出力(改行なし) Console.Write(Console.ReadLine()); // 文字列を出力(改行あり) Console.WriteLine("さんですか。素敵なお名前ですね。"); } } }
6. まとめ
今回は、ターミナルの入出力を扱いました。
これで、コンピューターとの対話ができるようになりましたね。
次回は、文字列の足し算を扱います。
ゲーム制作関連のオススメ連載リンク
とっても手軽なゲーム制作体験!
Unityゲーム開発基礎
実際のリリースゲームを題材にしたハンズオンゲーム制作連載
実践unityゲーム開発