前者适合将object类类型转换成int类型

int.Parse适合将string类类型转换成int类型

1)这两个方法的最大不同是它们对null值的处理方法:
Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常。

没搞清楚Convert.ToInt32和int.Parse()的细细微区别时千万别乱用,否则可能会产生无法预料的结果,举例来说:假如从url中取一个参数page的值,我们知道这个值是一个int,所以即可以用Convert.ToInt32(Request.QueryString["page"]),也可以用,int.Parse(Request.QueryString["page"]),但是如果page这个参数在url中不存在,那么前者将返回0,0可能是一个有效的值,所以你不知道url中原来根本就没有这个参数而继续进行下一下的处理,这就可能产生意想不到的效果,而用后一种办法的话没有page这个参数会抛出异常,我们可以捕获异常然后再做相应的处理,比如提示用户缺少参数,而不是把参数值当做0来处理。

(2)还有一点区别就是
a. Convert.ToInt32(double value)
如果 value 为两个整数中间的数字,则返回二者中的偶数;即 3.5转换为4,4.5 转换为 4,而 5.5 转换为 6。 不过4.6可以转换为5,4.4转换为4
b. int.Parse("4.5") 
直接报错:"输入字符串的格式不正确".

c. int(4.6) = 4
Int转化其他数值类型为Int时没有四舍五入,强制转换 
int.Parse是转换String为int
Convert.ToInt32是转换继承自Object的对象为int的. 
你得到一个object对象,你想把它转换为int,用int.Parse就不可以,要用Convert.ToInt32.
总结:
(1)Convert.ToInt32的参数比较多,Int.Parse只能转换string类型的.
(2)Parse就是把String转换成int,char,double....等,也就是*.Parse(string) 括号中的一定要是string.
(3)Convert可以提供多种类型的转换,也就是Convert.*()括号中可以为很多种类型(包括string).

最新文章

  1. prototype,__proto__,constructor
  2. iOS - CALayer相关(CATransform3D)
  3. Thymeleaf基本知识
  4. CSS透明opacity和IE各版本透明度滤镜filter的最准确用法
  5. centos修改文件及文件夹权限
  6. C和C++头文件的不同
  7. Android学习----发行版本
  8. Ubuntu-升级linux软件源,安装vim/五笔
  9. PHP header( ) 禁止页面后退
  10. [转载] 编程每一天(Write Code Every Day)
  11. ReactJS入门:展示数据
  12. 用cv::Scalar来设置opencv中图片的颜色
  13. Xcode极速代码,征服Xcode
  14. Jenkins + Docker 持续集成
  15. 剑指Offer——栈的java实现和栈的应用举例
  16. 实验6 shell程序设计一(1)
  17. 2.1命令行和JSON的配置「深入浅出ASP.NET Core系列」
  18. 华大单片机开发板HC32L13X上手入门
  19. Windows 7远程桌面设置
  20. vue 思維導圖

热门文章

  1. XShell 假死
  2. kubernetes离线包安装教程
  3. ElementUI datepicker日期选择器时间选择范围限制
  4. Linux命令(Ubuntu)
  5. template模板循环嵌套循环
  6. VMWare workstation12配置CentOS6.5虚拟机NAT网络以及虚拟机静态IP
  7. 【译】OkHttp3 拦截器(Interceptor)
  8. RESTful API是什么?
  9. vue使用laydate.js插件报错laydate.css: Invalid
  10. VNC连接Ubuntu 16.04桌面灰色的问题解决