Int32.Parse()和Convert.ToInt32()

(int),Int32.Parse(),Convert.ToInt32(),Int32.tryParse()区别:

1.(int)是在long,float到int类型的显式转换,主要是同类型的转换。在被转换的数值大于 Int32.MaxValue 或小于 Int32.MinValue会报错;

2.int.Parse()在符合数字格式的string到int类型转换过程中使用,因为只是从string到int的转换,性能做了优化,效率要高些,如果string 数字格式不正确,则抛出FormatException相应的异常;

3.Convert.ToInt32()可以将多种类型的值转换为int 类型,对超出范围的数值抛出OverflowException异常;

4.Int32.tryParse()对null不会抛出异常,会返回true或false来说明。

对null值的处理方法:

Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常。

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值