Computer >> Máy Tính >  >> Lập trình >> C#

Làm thế nào để xác nhận xem một chuỗi có phải là một số trong C # hay không?

Một chuỗi có số có thể được xác thực bằng int.TryParse hoặc int.Parse .

Int.Parse ném ra một ngoại lệ nếu nó không thể phân tích cú pháp chuỗi thành một số nguyên, trong khi Int.TryParse trả về một bool cho biết nó có thành công hay không. Ngoài ra, Int.TryParse có một tham số out có giá trị của chuỗi được phân tích cú pháp.

Ví dụ

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();
      }
   }
}

Đầu ra

Đầu ra của mã là

Try Parse Interger Number: 123
Parse Interger Number: 123

Trong ví dụ trên, vì int.Tryparse trả về một giá trị boolean cùng với chuỗi được phân tích cú pháp trong tham số out nên điều kiện if trả về true. Ngoài ra, int.Parse trả về giá trị số nguyên vì chuỗi chứa một số thích hợp.

Ví dụ

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();
      }
   }
}

Đầu ra

Đầu ra của đoạn mã trên là

String doesnot have a proper number

Vì chuỗi không có số thích hợp, int.Tryparse sẽ trả về false và phần khác của mã được thực thi. Trong trường hợp tương tự, int.Parse sẽ ném ra ngoại lệ như bên dưới.

Ví dụ

using System;
namespace DemoApplication {
   class Program {
      static void Main(string[] args) {
         string numberString = "A123";
         Console.WriteLine($"Parse Interger Number: {int.Parse(numberString)}");
         //Exception: Input string was not in correct format.
      }
   }
}