有没有简单的方法来检查格式字符串是否有效?例如,以下是我们用来测试数字格式字符串的代码;简单的方法来检查FormatString是否有效?
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”的字符串。
我们希望对百分比和日期格式字符串进行相同的测试。
正在检查基本类型的'toString'基本类似'x = 1; if(x!= 1)抛出错误;'?我没有看到如此细致,以至于你需要测试一个字符串格式(除非我错过了某些东西,或者你需要更好的舍入,或者...) - 编辑:你是否试图蛮力IFormatProviders ? –
但“hsibbur”的格式字符串_is_有效! –
另外,如何只捕获'FormatException'?您隐藏了您可能获得的任何_real_例外。 –