int.Parse, la cadena de entrada no estaba en un formato correcto

¿Cómo analizaría una cadena vacía? int.Parse(Textbox1.text) me da un error:

Cadena de entrada no tiene el formato correcto.
System.FormatException: la cadena de entrada no estaba en un formato correcto.

Si el texto está vacío ( Textbox1.text = '' ), arroja este error. Entiendo este error, pero no estoy seguro de cómo corregir esto.

Si está buscando el valor predeterminado en 0 en un cuadro de texto vacío (y lanzar una excepción en una entrada mal formateada):

 int i = string.IsNullOrEmpty(Textbox1.Text) ? 0 : int.Parse(Textbox1.Text); 

Si está buscando el valor predeterminado en 0 con cualquier entrada mal formateada:

 int i; if (!int.TryParse(Textbox1.Text, out i)) i = 0; 

Bueno, ¿qué quieres que sea el resultado? Si solo quiere validar la entrada, use int.TryParse en int.TryParse lugar:

 int result; if (int.TryParse(Textbox1.Text, out result)) { // Valid input, do something with it. } else { // Not a number, do something else with it. } 
 if(!String.IsNullOrEmpty(Textbox1.text)) var number = int.Parse(Textbox1.text); 

O mejor:

 int number; int.TryParse(Textbox1.Text, out number); 

Prueba esto:

 int number; if (int.TryParse(TextBox1.Text, out number)) { //Some action if input string is correct } 

También puede usar un método de extensión como este:

 public static int? ToNullableInt32(this string s) { int i; if (Int32.TryParse(s, out i)) return i; return null; } 

Aquí está la referencia: Cómo analizar una cadena en una int nullable en C # (.NET 3.5)

puedes envolverlo con un simple try/catch