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. } } }