画面を通じてメッセージ
みなさん、おつかれさまです。
後藤です。
どうですか、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ゲーム開発









