困った時の自分用メモ

読んだ本を考察してメモったり、自分でいじった物の感想をメモったりする場。週1更新を目指します。

C#の話~string.Formatの書式指定子を可変で指定する方法~

例えば、スキルのマスターデータで、書式指定子の数と、それに指定する数字の数のフォーマットの統一が難しい時に使える方法。
例)
スキル1,敵に{0}ダメージを与える,5
スキル2,敵に{0}ダメージを{1}回与える,5,2

と設定した時に、

System.Object[] arguments = new System.Object[data.Count];// 書式指定子に設定する数
for (int i = 0; i < data.Count; i++) {
    arguments[i] = data[i].Value;// スキル1の5、スキル2の5、2
}
UIText.text = string.Format(data.Detail, arguments);

とすると、

敵に5ダメージを与える
敵に5ダメージを2回与える

と、表示分けをすることができる。