文字と数値を一緒に表示する

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

文字や数値を表示するときに使ってきました「Console.Write」ですが、今までは文字を表示させるときは文字だけ、数値を表示させるときは数値だけという感じで、それぞれ別々に呼び出していました。

でもそれだと毎回面倒だし、コードも読みづらくなるので、今回は文字と数値を一緒に表示させる方法を学んでいきます。

文字と数値の表示

今回学習していくC#プログラムはこちらです。

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

namespace Sample
{
	internal 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();
		}
	}
}

いつものようにビルドして動かしてみましょう。

VisualStudioでのビルド正常終了画面

起動すると、計算式とその答えが表示されます。

プログラムの実行画面

Enterキーを押していくと、四則演算の式とその答えが順番に表示されていきます。

計算式がすべて表示された画面

最後に割り算の式と答えが出たら、Enterキーを押してプログラム終了です。

サンプルプログラムはここをクリックしてダウンロードしてください。

今回のポイント

今回のポイントは当然、「Console.Write」の使い方です。

Console.Write("足し算 {0} + {1} = {2}", 5, 2, 5 + 2);
Console.ReadLine();

このように書くことで、内容は前回作ったプログラムとほぼ同じなのに、一行プログラムを短くできます。

プログラムを短くすることで、可読性も上がります。

「Console.Write」のすぐ後に、「Console.ReadLine」が来ることで、「Console.Write」の引数部分の文字列が、プログラム実行時にそのまま一行として表示されることがわかります。

単純に「Console.Write」が何度も続くと、どこまでがプログラム実行時に一行として表示されるのかを考えなければいけませんからね。

プログラム解説

それでは、今回使用しました「Console.Write」について説明します。

足し算部分では、「Console.Write("足し算 {0} + {1} = {2}", 5, 2, 5 + 2);」となっています。

カッコ内の引数部分は、「"足し算 {0} + {1} = {2}", 5, 2, 5 + 2」となっています。

この引数部分に注目すると、ダブルコーテーション「"」に囲まれている部分と、カンマ「,」で区切られている部分があることがわかります。

ダブルコーテーションで囲まれている部分は「足し算 {0} + {1} = {2}」で、カンマで区切られている部分は「, 5, 2, 5 + 2」です。

そしてプログラムの実行結果からもわかるように、この部分は「足し算 5 + 2 = 7」と表示されるわけですから…。

基本的にはダブルコーテーションに囲まれた部分の文字列が表示されますが、「{ + 数字 + }」部分は、カンマで区切られた数値が順番にあてはめられていきます。

具体的には、「{0}」が「5」、「{1}」が「2」、「{2}」が「5 + 2」の答えという感じです。

文字列や数値は違いますが、ほかの計算も「Console.Write」の使い方は同じです。

もし、「{0}」とかがわかりにくいのであれば、以下のように書くこともできます。

Console.Write("足し算 5 + 2 = " + (5 + 2));

プログラム的には、式の部分が文字列扱いになってしまっているので、厳密にいえば違うのかもしれませんが、見た目的には同じです。

でも、これはこれでプラス「+」が三回出てきて、しかも三回とも意味がそれぞれ違うというわかりにくさがあります。

ちなみに…。

一つ目のプラスは、文字列としてのプラス。

二つ目のプラスは、左の文字列と右の数値をつなげるためのプラス。

三つ目のプラスは、数値と数値を足し合わせる算術演算子としてのプラス。

まとめ

文字を表示する「Console.Write」にもいろいろなコーディング方法があるので、自分に合うものを使っていきましょう。