Int.Parse, строка ввода не была в правильном формате

Как бы я разобрал пустую строку? int.Parse(Textbox1.text) дает мне ошибку:

Строка ввода не была в правильном формате.
System.FormatException: строка ввода не была в правильном формате.

Если текст пуст (Textbox1.text = ''), он выдает эту ошибку. Я понимаю эту ошибку, но не знаю, как ее исправить.

Ответы

Ответ 1

Если вы ищете по умолчанию 0 в пустое текстовое поле (и выбрасываете исключение на плохо отформатированный ввод):

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

Если вы ищете по умолчанию 0 с любым плохо отформатированным вводом:

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

Ответ 2

Хорошо, что вы хотите, чтобы результат был? Если вы просто хотите проверить ввод, используйте int.TryParse:

int result;

if (int.TryParse(Textbox1.Text, out result)) {
    // Valid input, do something with it.
} else {
    // Not a number, do something else with it.
}

Ответ 3

if(!String.IsNullOrEmpty(Textbox1.text))
    var number = int.Parse(Textbox1.text);

Или даже лучше:

int number;

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

Ответ 4

Попробуйте следующее:

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

Ответ 6

Если ввод является числом или пустой строкой, это будет работать. Он вернет ноль, если строка пуста, иначе вернет фактическое число.

int.Parse("0"+Textbox1.Text)

Ответ 7

вы можете обернуть его простым try/catch...