int.parse("abcd")为什么出错,应该怎样避免这个问题

一、int.Parse()是一种类容转换;表示将数字内容的字符串转为int类型。  

(1)如果字符串为空,则抛出ArgumentNullException异常;  

(2)如果字符串内容不是数字,则抛出FormatException异常;  

(3)如果字符串内容所表示数字超出int类型可表示的范围,则抛出OverflowException异常;

二、要将字符串转化为整型可以用以下三种方法。

(1) Convert.ToInt32()参数为 null 时,返回 0;

        Convert.ToInt32 参数为 "" 时,抛出异常; 

        Convert.ToInt32 可以转换的类型较多;

(2)(int) 是一种类型转换;当我们int类型到long,float,double,decimal类型,可以使用隐式转换,

        但是当我们从long类型到int类型就需要使用显式转换,否则会产生编译错误。

(3)int.TryParse()与 int.Parse 又较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false。  

       最后一个参数为输出值,如果转换失败,输出值为 0,如果转换成功,输出值为转换后的int值。

三、所以我们可以用int.TryParse()取而代之。

      以下是代码:

 

try
            {
                int res = int.Parse(textBox1.Text);
                label.Text = res + "";
            }
            catch (Exception exception)
            {
                label.Text = exception.ToString();
            }

 

posted @ 2015-04-07 20:30  一班&张艺燕  阅读(349)  评论(0编辑  收藏  举报