可以使用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)}"); //例外:输入字符串的格式不正确。 } } }