检查 FormatString 是否有效的简单方法?

发布于 2024-12-12 22:27:26 字数 479 浏览 2 评论 0原文

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

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”字符串。

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

Is there an easy way to check if a format string is valid? For example the following is code that we use to test a number format string;

public static bool IsValidFormatStringNumber(string FormatString)
{
    try
    {
        const decimal number = 0.056m;
        var formattedNumber = number.ToString(FormatString);
        return formattedNumber.Length > 0;
    }
    catch
    {
        return false;
    }
}

We're trying to catch an exception or determine if the resulting string has no length. This test fails however as a format string of "hsibbur" (Any rubbish) results in a string of "hsaibbur", which has length.

We want to do the same test for Percent and Date format string.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦幻之岛 2024-12-19 22:27:26

If you just want to check for standard format strings, just check that your format strings are part of that list.

If you want to check for custom format strings (that are not "Other" or "Literal strings"), you can probably craft a regex to do it.

Other than that, since format strings can be arbitrary strings, I don't think validation even applies.

儭儭莪哋寶赑 2024-12-19 22:27:26

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

If FormatString is equal to formattedNumber, that could be another case for returning false.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文