有没有简单的方法来检查格式字符串是否有效?例如,以下是我们用来测试数字格式字符串的代码;
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格式字符串执行相同的测试。
答案 0 :(得分:2)
如果您只想查看standard format strings,请检查您的格式字符串是否属于该列表。
如果要检查custom format strings(不是“其他”或“文字字符串”),您可以制作正则表达式来执行此操作。
除此之外,因为格式字符串可以是任意字符串,所以我认为验证甚至都不适用。
答案 1 :(得分:1)
如果FormatString等于formattedNumber,则可能是返回false的另一种情况。