int.Parse,inputstring的格式不正确
我将如何parsing一个空string? int.Parse(Textbox1.text)
给了我一个错误:
inputstring的格式不正确。
System.FormatException:inputstring的格式不正确。
如果文本为空( Textbox1.text = ''
),则会引发此错误。 我明白这个错误,但不知道如何解决这个问题。
如果你想在一个空的文本框中默认为0(并且在格式不正确的input上抛出一个exception):
int i = string.IsNullOrEmpty(Textbox1.Text) ? 0 : int.Parse(Textbox1.Text);
如果你想要默认为0格式不好的input:
int i; if (!int.TryParse(Textbox1.Text, out i)) i = 0;
那么,你想要什么结果呢? 如果您只想validationinput,请改用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. }
if(!String.IsNullOrEmpty(Textbox1.text)) var number = int.Parse(Textbox1.text);
甚至更好:
int number; int.TryParse(Textbox1.Text, out number);
尝试这个:
int number; if (int.TryParse(TextBox1.Text, out number)) { //Some action if input string is correct }
你也可以使用这样的扩展方法:
public static int? ToNullableInt32(this string s) { int i; if (Int32.TryParse(s, out i)) return i; return null; }
这里是参考: 如何parsing一个string到一个可空的int在C#中(.NET 3.5)
你可以用简单的try/catch
来包装它…