如何在 C# 中验证字符串是否为数字?

csharpserver side programmingprogramming更新于 2025/6/28 19:22:17

可以使用 int.TryParse 或 int.Parse 来验证包含数字的字符串。

如果 Int.Parse 无法将字符串解析为整数,则会抛出异常;而 Int.TryParse 则返回一个布尔值,指示解析是否成功。此外,Int.TryParse 有一个输出参数,其中包含解析后的字符串的值。

示例

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)}");
         //异常:输入字符串的格式不正确。
      }
   }
}

相关文章