Có một cách tốt hơn một chút:
int valueParsed;
if(Int32.TryParse(txtMyText.Text.Trim(), out valueParsed))
{ ... }
Nếu bạn cố gắng để phân tích văn bản và nó không thể được phân tích, phương pháp Int32.Parse sẽ nâng cao một ngoại lệ. Tôi nghĩ rằng nó là tốt hơn cho bạn để sử dụng phương pháp TryParse mà sẽ nắm bắt được ngoại lệ và cho bạn biết như là một boolean nếu bất kỳ ngoại lệ đã gặp phải.
Có nhiều biến chứng trong phân tích cú pháp văn bản mà Int32.Parse tính đến. Nó là ngu ngốc để nhân đôi nỗ lực. Như vậy, điều này rất có thể là cách tiếp cận được thực hiện bởi IsNumeric của VB. Bạn cũng có thể tùy chỉnh các quy tắc phân tích cú pháp thông qua việc liệt kê NumberStyles để cho phép hex, thập phân, tiền tệ và một vài kiểu khác.
Một cách tiếp cận phổ biến khác cho các ứng dụng không dựa trên web là hạn chế đầu vào của hộp văn bản để chỉ chấp nhận các ký tự sẽ được phân tích thành số nguyên.
EDIT: Bạn có thể chấp nhận một loạt lớn các định dạng đầu vào, chẳng hạn như giá trị tiền ("100 $") và số mũ ("1E4"), bằng cách xác định NumberStyles cụ thể:
int valueParsed;
if(Int32.TryParse(txtMyText.Text.Trim(), NumberStyles.AllowCurrencySymbol | NumberStyles.AllowExponent, CultureInfo.CurrentCulture, out valueParsed))
{ ... }
... hoặc bằng cách cho phép bất kỳ loại định dạng được hỗ trợ:
int valueParsed;
if(Int32.TryParse(txtMyText.Text.Trim(), NumberStyles.Any, CultureInfo.CurrentCulture, out valueParsed))
{ ... }
Dường như điều này có lẽ sẽ là lựa chọn tốt hơn trên mạng, nhờ .... – user1202606
Lệnh 'TryParse 'phương thức sẽ không cho kết quả tương tự như' IsNumeric'. – phoog