3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。(jehupc.exblog.jpから移転中)

(.Net)String.Formatは結構使える

メッセージボックスを表示するときに動的な値を入れたい時があります。

今まであんまり使ったことないんですが、文字列への動的な値の埋め込みは、String.Format メソッド を使えば簡単にできるようです。(わざわざ文字列連結を使う必要が無いということです。)

よく使うのはエラーメッセージボックス等で値を入れたいときですね。

こういう感じです。(C#)

/// 文字列定義定数

public enum MessageString

{

FileNotFoundErr,

NullErr,

DateRangeErr,

....

}

 

//文字列取得メソッド

public static string GetMessageString(MessageString s)

{

string str = string.Empty;

switch (s)

{

case MessageString.FileNotFoundErr:

str = "ファイル({0})が見つかりません。";

break;

case MessageString.NullErr:

str = "{0}は値がありません。";

break;

case MessageString.DateRangeErr:

str = "日付範囲の指定が誤っています。"

+ "指定された日付は{0:00}月{1:00}日から{2:00}月{3:00}日です。";

break;

default:

break;

}

return str;

}

 

//呼び出し時

MessageBox.Show( string.Format( GetMessageString(MessageString.NullErr) ,

new string[] { "動的な値" } ));

数値や日付の場合は、書式指定もできるようなので、非常に便利ですね。

参考:

@IT:数値を右詰めや0埋めで文字列化するには?[C#、VB]

String.Formatの書式 - Bitmacroブログ 書式一覧があるので参考になります。