检查 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”字符串。
我们想对百分比和日期格式字符串进行相同的测试。
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您只想检查标准格式字符串< /a>,只需检查您的格式字符串是否属于该列表的一部分。
如果您想检查自定义格式字符串 (不是“其他”或“文字字符串”),您可能可以制作一个正则表达式来执行此操作。
除此之外,由于格式字符串可以是任意字符串,因此我认为验证甚至不适用。
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.
如果 FormatString 等于 formattedNumber,则可能是返回 false 的另一种情况。
If FormatString is equal to formattedNumber, that could be another case for returning false.