问题分析:
首先,int.Parse()是一种类容转换,表示将数字内容的字符串转为int类型。该函数要求被操作的字符串由数字组成,因此存在三种可能的输入异常情况:
1. 如果字符串为空,则抛出ArgumentNullException异常;
2. 如果字符串内容不是数字,则抛出FormatException异常;
3. 如果字符串内容所表示数字超出int类型可表示的范围,则抛出OverflowException异常;
所以 int.parse("abcd") 出错原因在于字符串的内容不是数字,
解决方案:
可以使用 int.TryParse() 函数,int.TryParse() 与 int.Parse() 较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false。
最后一个参数为输出值,如果转换失败,输出值为 0,如果转换成功,输出值为转换后的int值。