C#プログラムで文字と数値を一緒に表示

今回のC#プログラミング学習は、文字と数値を一緒に表示させる方法について学習します。

前々回のC#プログラミング学習では、文字表示は文字表示のみ、数値表示は数値表示のみでした。

でもそれだと面倒なので、今回は文字と数値を一緒に表示させてしまう方法を学習します。

プログラムのダウンロード

まずは今回学習していくためのプログラムをダウンロードしましょう。

ここをクリックして「Sample.zip」ファイルをダウンロードしてください。

ZIP形式になっているので、ダウンロードしたら、マウスの右クリックで「すべて解凍」を選びます。

すると、Sampleプロジェクトが展開されます。

プログラムファイルを開く

Sampleプロジェクトの中に「Sample.sln」ファイルがあるので、このファイルを開くとVisualStudioのVisualC#が立ち上がります。

ソリューションエクスプローラから「Program.cs」を開くと、以下のようなプログラムが表示されます。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Sample
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("足し算 {0} + {1} = {2}", 5, 2, 5 + 2);
            Console.ReadLine();

            Console.Write("引き算 {0} - {1} = {2}", 5, 2, 5 - 2);
            Console.ReadLine();

            Console.Write("掛け算 {0} * {1} = {2}", 5, 2, 5 * 2);
            Console.ReadLine();

            Console.Write("割り算と剰余 {0} / {1} = {2} あまり {3}", 5, 2, 5 / 2, 5 % 2);
            Console.ReadLine();
        }
    }
}

プログラムのビルド

F7キーを押すとプログラムのビルドが行われ、実行ファイルが作成されます。


VisualC#でプログラムをビルドした様子

プログラムの実行

F5キーを押すとプログラムが実行されます。

まずは「足し算 5 + 2 = 7」と表示されるのでEnterキーを押します。

続いて「引き算 5 - 2 = 3」と表示されるのでEnterキーを押します。

続いて「掛け算 5 * 2 = 10」と表示されるのでEnterキーを押します。

最後に「割り算と剰余 5 / 2 = 2 あまり 1」と表示されます。


プログラムを実行した様子

Enterキーを押すとプログラムが終了します。

プログラム解説

それでは今回学習するC#プログラムを見てみましょう。

前々回のC#プログラミング学習では、文字表示は文字表示のみ、数値表示は数値表示のみでした。

これはどうしてそうなっているのかというと、「Console.Write」に続くカッコ内でコーテーション「"」で囲ったものは文字として、そうでないものは数値として扱われて表示されるからですね。

なのでバラバラに表示させていましたが、いろいろとめんどくさいことも起こるので、ここでそれらをまとめて表示させる方法を学習しておきましょう。

問題の部分を見ると「Console.Write("足し算 {0} + {1} = {2}", 5, 2, 5 + 2);」となってます。

もちろん「"」で囲まれた部分は文字として表示されますが、「{0}」や「{1}」みたいになっているところは、カンマ「,」以降の数値に置き換わるようになっています。

「{」と「}」の中にある数は、カンマ区切りで並んでいる数値の中で何番目の値と入れ替えるのかという指定です。

ようするにインデックス番号ですね。

例えば、「Console.Write("足し算 {0} + {1} = {2}", 5, 2, 5 + 2);」であれば実行結果からもわかるように…。

「{0}」は「5」に、「{1}」は「2」に置き換えられます。

そして前回学習したように、数値扱いの部分で式を書けば計算結果が表示されるので、「{2}」は「5 + 2」の計算結果である「7」が表示されるわけです。

最後に「{」と「}」の中にあるインデックス番号は、0から始まるので注意しましょう。