Tips

2018.05.10

C# 基礎 第4回 標準入出力

画面を通じてメッセージ

みなさん、おつかれさまです。
後藤です。
どうですか、C#?
開発環境を作って、初めてプログラミングをして、
もうお腹いっぱいですか?
『Hello World!を画面に表示したって、面白くもなんともない』とか思っていませんか?

そんなみなさんのために、今回はもうちょっと面白いプログラムを用意しました。
チャットのように文字を入力できるようにしたり、
それに応じて文字を出力させるプログラムです。

今日の流れは以下の通り。

  1. おさらい
  2. 標準出力
  3. 標準入力
  4. 標準出力と標準入力の組み合わせ
  5. 実習
  6. まとめ

1. おさらい

前回は、Macのターミナルの画面に『Hello World!』を出力してもらいましたね。
このように、コマンドラインの画面に文字列を出力してもらうことを、標準出力と呼びます。
逆に、コマンドラインから文字列を入力して、コンピュータに読んでもらうこともできます。
これを、標準入力と言います。

2. 標準出力

コマンドライン画面に文字列を表示するのが標準出力です。
C#では、なんども出てきた、Console.WriteLine()を使うのが定番。
意味は、『コマンドライン画面(Console)が、()の中身を、最後に改行こみで表示(WriteLine)する。』です。

実は、もう一つよく使われる標準出力があります。違いを見てみましょう。

  1. Console.WriteLine()
  2. 最後に改行を入れます

  3. Console.Write()
  4. 最後に改行を入れません

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ゲーム開発

Recent News

Recent Tips

Tag Search