如何在C#中验证字符串是否为数字?
可以使用int.TryParse或int.Parse验证具有数字的字符串。
如果Int.Parse无法将字符串解析为整数,则抛出异常,而Int.TryParse返回布尔值,指示其是否成功。另外,Int.TryParse具有一个out参数,该参数具有已解析的字符串的值。
示例
using System;
namespace DemoApplication {
class Program {
static void Main(string[] args) {
string numberString = "123";
int number = 0;
if(int.TryParse(numberString, out number)) {
Console.WriteLine($"Try Parse Interger Number: {number}");
}
Console.WriteLine($"Parse Interger Number: {int.Parse(numberString)}");
Console.ReadLine();
}
}
}输出结果
代码的输出是
Try Parse Interger Number: 123 Parse Interger Number: 123
在上面的示例中,由于int.Tryparse返回一个布尔值以及out参数中的已分析字符串,因此if条件返回true。另外,int.Parse返回整数值,因为字符串包含适当的数字。
示例
using System;
namespace DemoApplication {
class Program {
static void Main(string[] args) {
string numberString = "A123";
int number = 0;
if(int.TryParse(numberString, out number)) {
Console.WriteLine($"Try Parse Interger Number: {number}");
}
elsem{
Console.WriteLine($"String doesnot have a proper number");
}
Console.ReadLine();
}
}
}输出结果
上面代码的输出是
String doesnot have a proper number
由于字符串没有正确的数字,因此int.Tryparse将返回false并执行代码的else部分。在相同的情况下,int.Parse将引发如下异常。
示例
using System;
namespace DemoApplication {
class Program {
static void Main(string[] args) {
string numberString = "A123";
Console.WriteLine($"Parse Interger Number: {int.Parse(numberString)}");
//例外:输入字符串的格式不正确。
}
}
}