使用 int.tryparse 解析字符串,并在成功后通过条件判断检查数值是否落在指定范围内。如果结果超出范围,则视为转换失败或执行其他逻辑。

int.TryParse 如何区分格式错误与数值溢出?
int.TryParse 方法在遇到无法解析为整数的格式(如包含字母)时返回 false,且输出参数设为 0;当字符串表示的数值超出 Int32 的最小值或最大值时,它同样返回 false,不会抛出异常。这意味着该方法能安全地处理格式错误和数值溢出两种情况,开发者无需捕获异常即可区分这两种错误类型。

using System;
class Program
{
static void Main()
{
string[] inputs = { "123", "abc", "2147483648", "-2147483649" };
foreach (var input in inputs)
{
if (int.TryParse(input, out int result))
{
Console.WriteLine($"Input: '{input}' -> Parsed: {result}");
}
else
{
Console.WriteLine($"Input: '{input}' -> Failed to parse or overflow.");
}
}
}
}
预期输出: Input: '123' -> Parsed: 123 Input: 'abc' -> Failed to parse or overflow. Input: '2147483648' -> Failed to parse or overflow. Input: '-2147483649' -> Failed to parse or overflow.
如何在解析后限制数值范围?
在 int.TryParse 成功返回 true 后,可以通过简单的比较运算符检查 out 参数是否在期望的最小值和最大值之间。如果不在范围内,可以将其视为无效输入,并设置一个默认值或记录错误信息。

int.TryParse











