黑马程序员技术交流社区

标题: Convert.ToInt32和int.Parse有什么区别? [打印本页]

作者: 何圣东    时间: 2012-1-25 04:45
标题: Convert.ToInt32和int.Parse有什么区别?
今晚在看苏坤老师的.NET编程基础,讲到了Convert.ToInt32和int.Parse,它们都可以将String类型转换为int类型,但苏老师也没解释它们两个有什么区别?我想问下具体有什么区别?
作者: 孙琦    时间: 2012-1-25 11:19
到目前为止,我只知道,除了两者的参数不同外,都可以将一个整形字符串强制转换成整形,还有一个区别就是在处理NULL值时用int.parse(null)或报错 提示值不能为空,参数名: String,而用convert.toInt32(null)会返回个0,你可以试试,
作者: 刘少华    时间: 2012-1-25 12:45
int.Parse()只能将string类型转换为int类型的,效率高于convert.toInt32(),而Convert.ToInt32是提供继承自object类型的类型到int类型的转换,也就是说可以提供任意类型到int类型的转换
作者: 杨磊    时间: 2012-2-1 23:37
Convert.ToInt32的参数比较多,Int.Parse只能转换string类型的
Parse就是把String转换成int,char,double....等,也就是*.Parse(string) 括号中的一定要是string.
Convert可以提供多种类型的转换,也就是Convert.*()括号中可以为很多种类型(包括string).
这两个方法的最大不同是它们对null值的处理方法: Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2