String chứa số validate bằng int.TryParse hoặc int.Parse.
Int.Parse ném exception nếu không parse được string thành integer, Int.TryParse trả về bool chỉ thành công hay không. Cũng có out parameter chứa giá trị parsed string.
Ví dụ hợp lệ
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 Integer: {number}");
}
Console.WriteLine($"Parse Integer: {int.Parse(numberString)}");
Console.ReadLine();
}
}
}
Kết quả
Try Parse Integer: 123 Parse Integer: 123
Vì int.TryParse trả về boolean và parsed string trong out parameter, if condition trả true. int.Parse cũng trả integer value vì string chứa số đúng.
Ví dụ không hợp lệ
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 Integer: {number}");
}
else
{
Console.WriteLine("String không có số hợp lệ");
}
Console.ReadLine();
}
}
}
Kết quả
String không có số hợp lệ
String không có số hợp lệ, int.TryParse trả false, else block chạy. int.Parse sẽ ném exception:
Ví dụ int.Parse ném exception
using System;
namespace DemoApplication
{
class Program
{
static void Main(string[] args)
{
string numberString = "A123";
Console.WriteLine($"Parse Integer: {int.Parse(numberString)}");
// Exception: Input string was not in correct format.
}
}
}