Chuyển string representation của số thành integer dùng int.Parse hoặc Convert.ToInt32. Nếu string không convert được, cả hai đều ném exception.
Khác biệt chính: Convert.ToInt32 cho phép null value (trả về 0), không ném lỗi. int.Parse không cho phép null, ném ArgumentNullException.
Ví dụ int.Parse hợp lệ
class Program
{
static void Main()
{
int res;
string myStr = "5000";
res = int.Parse(myStr);
Console.WriteLine("Chuyển đổi: " + res);
Console.ReadLine();
}
}
Chuyển đổi: 5000
Ví dụ Convert.ToInt32 với null
class Program
{
static void Main()
{
int res;
string myStr = null;
res = Convert.ToInt32(myStr);
Console.WriteLine("Chuyển đổi: " + res);
Console.ReadLine();
}
}
Chuyển đổi: 0
Ví dụ int.Parse với null (lỗi)
class Program
{
static void Main()
{
int res;
string myStr = null;
res = int.Parse(myStr); // ArgumentNullException
Console.WriteLine("Chuyển đổi: " + res);
Console.ReadLine();
}
}
Unhandled exception. System.ArgumentNullException: Value cannot be null.