Formatメソッドを利用して 文字列型の変数の値を出力する - C#

C#でFormatメソッドを利用して文字列型の変数の値を出力します。

概要

Formatメソッドに与える「複合書式指定文字列」に次の形式のの文字列を与えます。
{(インデックス番号)}

プログラム

UI

下図のUIを作成します。TextBoxとButtonを配置します。

コード

下記のコードを記述します。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace StringFormatDemo
{
  public partial class FormMain : Form
  {
    public FormMain()
    {
      InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
      string[] name = { "ペンギン", "しろくま", "くじら" };
      Random rnd = new Random();
      int idx = rnd.Next(3);

      textBox_Output.Text += string.Format("「{0}」が選択されました。\r\n", name[idx]);
    }
  }
}
解説
  string[] name = { "ペンギン", "しろくま", "くじら" };
上記のコードでstring型の配列を初期化し値を代入します。配列要素は3つです。
name[0] = "ペンギン"
name[1] = "しろくま"
name[2] = "くじら"
となります。

  Random rnd = new Random();
  int idx = rnd.Next(3);
0~2の範囲の乱数を作成します。先に作成した配列の要素からランダムで一つを抽出するためです。

  textBox_Output.Text += string.Format("「{0}」が選択されました。\r\n", name[idx]);
name配列から要素を1つランダムで取り出し、その内容を整形してテキストボックスに表示します。
Formatメソッドでは、第一引数の複合書式指定文字列において、変数の内容を出力する位置に書式指定項目"{0}"を記述します。

実行結果

プロジェクトを実行します。下図のウィンドウが表示されます。


ボタンをクリックします。配列からランダムに選択された要素の値がテキストボックスに表示できました。


続けてボタンをクリックすると、ランダムで要素が選択されるため、表示内容が変わります。

補足

本サイトを含め、一部の古いサンプルでは複合書式指定文字列で以下の書式で "s"のフォーマット指定子を付加しているものがありますが、文字列を出力する場合は、フォーマット指定子は不要です。
("s"がある場合でも動作します。)
````` {0:s}

~
以下の記述が正しい記述です。~
{0} ````
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
最終更新日: 2024-01-07
作成日: 2014-08-05
iPentec all rights reserverd.