黑马程序员技术交流社区
标题:
int.Parse(string);和 Convert.ToInt32(string);有什么区别
[打印本页]
作者:
苏冉
时间:
2013-3-27 15:29
标题:
int.Parse(string);和 Convert.ToInt32(string);有什么区别
视频上老师说 int.Parse(string); 和 Convert.ToInt32(string); 的结果一样,那为什么要给两个作用一样的语句?他们俩有什么别的区别吗?
作者:
许正龙
时间:
2013-3-27 17:15
Convert.ToInt32 与 int.Parse 较为类似,实际上 Convert.ToInt32 内部调用了 int.Parse:
Convert.ToInt32 参数为 null 时,返回 0; int.Parse 参数为 null 时,抛出异常。
作者:
邓建军
时间:
2013-3-27 17:41
Convert.ToInt32() 调用了int.Parse()方法,Convert.ToInt32() 是万能转换,可转换将byte short long double float char string enum datetime bool object等转换成int,而int.Pase()只能将string转换成int
作者:
张振
时间:
2013-3-27 17:48
视频中讲解的是两个 出入结果是一样的,但 Convert.ToInt32 内部调用了 int.Parse(所以可以看出Convert.ToInt32 可以转换的类型多于int.Parse类型; 而int.Parse 只能转换数字类型的字符串 )
Convert.ToInt32 参数为 null 时,返回 0;
int.Parse 参数为 null 时,抛出异常。
网上有更详细的资料
作者:
庞登升
时间:
2013-3-27 18:08
我也查了一下网上的资料,一起学习下。总结有这几点:
1。Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常。
2。Convert这个方法,如果后面的参数为小数,则取靠近偶数的那个整数,比如4.5=4,6.5=6
int.Parse("4.5") 直接报错:"
输入字符串的格式不正确
".
3。Parse就是把String转换成int,char,double....等,也就是*.Parse(string) 括号中的一定要是string.
Convert可以提供多种类型的转换,也就是Convert.*()括号中可以为很多种类型(包括string).
4。最后一点,Parse效率比较高,具体你再上网看看
作者:
曾志军
时间:
2013-3-27 18:14
我是来学知识的
作者:
wdj_student
时间:
2013-3-27 18:24
Convert.ToInt32()内部调用了int.Parse()方法,可以通过反编译工具查看,Convert.ToInt32() 可以转换的类型比较多,而int.Parse()方法只能将字符串数字转换成整型
,一般情况下就用Convert.ToInt32吧
作者:
郑丹丹1990
时间:
2013-3-28 13:51
Convert.ToInt32(string); 有时也许会出现bug.
此时有int.Parse(string); 就不会出现bug.
至于更具体的原因可以baidu下
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2