-
四季花海
试试这个:int x = Int32.Parse(TextBoxD1.Text);或者更好:int x = 0;Int32.TryParse(TextBoxD1.Text, out x);还有,因为Int32.TryParse返回bool您可以使用它的返回值来决定解析尝试的结果:int x = 0;if (Int32.TryParse(TextBoxD1.Text, out x)){
// you know that the parsing attempt
// was successful}如果你好奇的话Parse和TryParse最好的概括如下:TryParse方法与Parse方法类似,除非TryParse方法在转换失败时不会抛出异常。它消除了使用异常处理来测试FormatException中无效且无法成功解析的事件的需要。
-
12345678_0001
Convert.ToInt32( TextBoxD1.Text );如果您确信文本框的内容是有效的int,请使用此方法。一个更安全的选择是int val = 0;Int32.TryParse( TextBoxD1.Text, out val );这将为您提供一些可以使用的默认值。Int32.TryParse还返回一个布尔值,指示它是否能够解析,因此甚至可以将其用作if声明。if( Int32.TryParse( TextBoxD1.Text, out val ){
DoSomething(..);} else {
HandleBadInput(..);}
-
幕布斯6054654
int.TryParse()如果文本不是数字,它不会抛出。
-
潇潇雨雨
int myInt = int.Parse(TextBoxD1.Text)另一种方式是:bool isConvertible = false;int myInt = 0;isConvertible = int.TryParse(TextBoxD1.Text, out myInt);两者的区别在于,如果文本框中的值无法转换,第一个将抛出异常,而第二个则只返回false。