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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗