int, Int32.Parse和Convert.ToInt32的不同之处(分享)

 

  为了帮助大家更好地学习 .Net Framework 技术,微软论坛技术支持团队编辑了一些列的 ".Net Framework 常见问题及解答" 精华帖。

 

本帖的主题是:(int), Int32.Parse和Convert.ToInt32有什么不同之处?

 

如果您觉得这个帖子对您的学习、工作有所帮助,请再把这个帖子分享给你的同学、同事和朋友。

 

如果您想阅读更多的 ".Net Framework 常见问题及解答",请打开索引页面:
http://social.msdn.microsoft.com/Forums/zh-CN/2212/thread/b8c520b0-3ae8-4129-88a6-6221863a09c4

 

 

  (int)是一种被称为强制转换的显示转换。源变量和目标变量必须是兼容的。并且有丢失数据的风险。因为目标变量的类型大小小于源变量。

允许显示数值转换的列表可以参考下面链接。

http://msdn.microsoft.com/en-us/library/yht2cx7b.aspx

Int32.Parse方法仅允许将字符串转换整型。

Convert.ToInt32(String, IFormatProvider)底层是调用Int32.Parse. 然而假如我们传入一个空字符串会返回0. 但是如果是传递给Int32.Parse就会抛出ArgumentNullException异常。

当源变量值比Int32.MaxValue大或者比Int32.MinValue小,Convert.ToInt32会抛出

OverflowExcetion异常。但是使用(int)则不会。

Convert.ToInt32 将舍入到最接近的 32 位有符号整数。如果值为中间两个的整体数字则返回偶数;这就是 4.5 转换为 4,而 5.5 转换为 6。而在另一方面 (int) 只是截断小数部分。

如果想了解更多关于强制类型转换和类型转换,可以参考下面的文档。

Casting and Type Conversions (C# Programming Guid)  

http://msdn.microsoft.com/en-us/library/ms173105.aspx

Type Conversions in Visual Basic

http://msdn.microsoft.com/en-us/library/hcb26cc8(VS.80).aspx

有关的帖子:

http://social.msdn.microsoft.com/Forums/en/netfxbcl/thread/1ca53a60-e094-4073-ab33-27cca0bdbad4

 

 

转载于:https://www.cnblogs.com/yangwujun/archive/2012/12/06/2804232.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值