4

有没有一种简单的方法来检查格式字符串是否有效?例如下面是我们用来测试数字格式字符串的代码;

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”字符串,该字符串具有长度。

我们想对百分比和日期格式字符串做同样的测试。

4

2 回答 2

4

如果您只想检查标准格式字符串,只需检查您的格式字符串是否属于该列表。

如果您想检查自定义格式字符串(不是“其他”或“文字字符串”),您可以制作一个正则表达式来执行此操作。

除此之外,由于格式字符串可以是任意字符串,我认为验证甚至不适用

于 2011-11-02T00:49:31.843 回答
1

如果 FormatString 等于 formattedNumber,那可能是返回 false 的另一种情况。

于 2011-11-02T01:06:51.317 回答