C#中的Convert.ToInt32(String)不起作用?

时间:2013-08-20 23:30:54

标签: c# string int type-conversion

我有一个名为textBox1的文本框,在某种情况下,我想将文本框中的字符串转换为整数,以便以后用作整数。

这是一个我甚至无法理解的错误。这是一个截图:

http://i.stack.imgur.com/lxZa0.png

(按要求)代码为:

this.textBox1.Text = string.Concat(Int.Where(c => Char.IsNumber(c)));
this.textBox1.Text = Convert.ToInt32(this.textBox1.Text);

如果您能给我一个答案或修复我的代码,我会非常感激,并解释为什么它没有/确实有效。

1 个答案:

答案 0 :(得分:3)

Convert.ToInt32将按设计返回一个整数,而不是字符串。

如果您只是将结果存回文本框,则根本无法将其转换为数字,只能将其转换回字符串。

如果你想这样做,这真的很有用:

int value = Convert.ToInt32(this.textBox1.Text);

话虽如此,您可能希望使用Int32.TryParse代替。这允许您检查格式错误,而不是在用户键入不适当的值时引发异常。