c#如何验证整型变量的取值范围
时间: 2024-10-14 15:09:38 浏览: 21
在 C# 中,你可以使用 `int.TryParse()` 或 `int.Parse()` 方法配合异常处理来验证整数变量的取值范围。如果你想确保数值在特定范围内,例如从 -2^31 到 2^31 - 1(这是整型的最大和最小值),可以这样做:
1. 使用 `int.TryParse` 方法:
```csharp
int number;
if (int.TryParse(inputString, out number))
{
if (number >= int.MinValue && number <= int.MaxValue)
{
// 数值在有效范围内
}
else
{
Console.WriteLine("Number is out of range.");
}
}
else
{
Console.WriteLine("Invalid input, not a valid integer.");
}
```
这里,`inputString` 是你想转换成整数的字符串,如果转换成功并且在范围内,程序会继续执行,否则给出错误提示。
2. 如果你需要直接抛出异常,可以使用 `int.Parse` 和 `OverflowException`:
```csharp
try
{
int number = int.Parse(inputString);
if (number < int.MinValue || number > int.MaxValue)
{
throw new OverflowException("Number is out of range for an Int32.");
}
}
catch (OverflowException ex)
{
Console.WriteLine(ex.Message);
}
catch (FormatException)
{
Console.WriteLine("Invalid input, not a valid integer.");
}
```
在这里,如果输入超出整数范围,会立即抛出异常。
阅读全文