フォーマット文字列が有効かどうかを確認する簡単な方法はありますか? たとえば、以下は数値フォーマット文字列をテストするために使用するコードです。
public static bool IsValidFormatStringNumber(string FormatString)
{
try
{
const decimal number = 0.056m;
var formattedNumber = number.ToString(FormatString);
return formattedNumber.Length > 0;
}
catch
{
return false;
}
}
例外をキャッチするか、結果の文字列の長さがゼロかどうかを判断しようとしています。ただし、このテストは失敗します。"hsibbur" (任意のゴミ) のフォーマット文字列は、長さを持つ "hsaibbur" の文字列になるためです。
Percent と Date の書式文字列についても同じテストを行います。