(.Net常识)(int),Int32.Parse,Conver.ToInt32三者在什么情况下使用以及其区别。
三者分别侧重在以下情况下使用:
(int) :
适合简单数据类型之间的转换,在对long 类型或是浮点型到int 类型的显式强制转换中使用,但是如果被转换的数值大于 Int32.MaxValue 或小于 Int32.MinValue,那么则会得到一个错误的结果。
Int32.Parse():
适合将string类类型转换成int类型,如int.Parse(session[“shuzi”].ToString())。在符合数字格式的 string 到 int 类型转换过程中使用,并可以对错误的 string 数字格式的抛出相应的异常。若不想抛出异常则可使用Int32.TryParse(),异常时会返回0.
Convert.ToInt32()
适合将object类类型转换成int类型,如Convert.ToInt32(session[“shuzi”]);并可以将多种类型的值转换为 int 类型,也可以对错误的数值抛出相应的异常。本质上,Convert.ToInt32()内部调用的还是Int32.Parse(). 所以,若确定字符串是数字整数,可直接用Int32.Parse()
Convert.ToInt32和Int32.Parse的最大不同是它们对null值的处理方法:Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常。
还有一点区别是:
a. Convert.ToInt32(double value)
如果 value 为两个整数中间的浮点数,则返回二者中的偶数;即 4.5 转换为 4,而 5.5 转换为 6。
c. int(4.6) = 4 (Int转化其他数值类型为Int时没有四舍五入,强制转换(截取整数部分) )
b. int.Parse(“4.5”) 会直接报错:“输入字符串的格式不正确”.
说到这里,忽然想问一句大家知道Int32和Int的区别吗?
大家都知道,System.Int32是.NET Framework提供的基元类型,而int是C#中的一个关键字、是System.Int32的别名,这样的话认为二者是一样的好像也没有错,但事实上它们不是完全一样的,
Int16, Int32, Int64是特定于CLR公共语言运行时的写法, 在.NET的编程规范中推荐使用此种写法, 用来代替int,int是C#的写法。在程序设计中尽量避免使用语言特有的名字, 对那些所谓的基本类型,
CLR(公共语言运行时)平台上的编程语言(C#, VB.NET)都有自己的别名来称呼它们, 比如int是C#中对于Int32的别名, 但是为了确保框架能够充分利用跨语言协作–CLR的核心特性之一, 应尽量避免在标识符中使用语言特有的类型名。
int的Csharp语言特有的名字,Int32是.NET框架特有的。
细说(int) , int.parse() , convert.int32() 区别
Int32.Parse()和Convert,Toint32()一样吗
(.Net常识)(int),Int32.Parse,Conver.ToInt32三者在什么情况下使用以及其区别。相关推荐
- C#中(int)、Conver.Toint32()、int.Parse()三种类型转换方式的区别
1.(int)可用于单精度.双精度等其他数值类型的转换(到整型int),不能用于转换string类型转换为int类型,系统会报错,程序是不能运行. 注意:Double或Float被转换成int类型时, ...
- C#中(int)、Conver.Toint32()、int.Parse()三种类型转换方式的区别与联系--C#基础知识
自己也是刚学习C#程序设计语言,总结了一点知识点,想分享给大家.毕竟刚学习这门语言,学得不深,哪里如果有错误,请帮个忙指出一下哈,谢谢! 1.(int)可用于单精度.双精度等其他数值类型的转换(到整型 ...
- (int),Int32.Parse,Convert.ToInt3…
(int)是一种被称为强制转换的显示转换.源变量和目标变量必须是兼容的(必须都是int类型的).并且有丢失数据的风险.因为目标变量的类型大小小于源变量. 从int到long.float.double或 ...
- (int),Int32.Parse() 和 Convert.toInt32() 的区别
在 C# 中,(int),Int32.Parse() 和 Convert.toInt32() 三种方法有何区别? int 关键字表示一种整型,是32位的,它的 .NET Framework 类型为 S ...
- 在 C# 中,(int) ,Int32.Parse() 和 Convert.toInt32() 三种方法的区别
在 C# 中,(int),Int32.Parse() 和 Convert.toInt32() 三种方法有何区别? int 关键字表示一种整型,是32位的,它的 .NET Framework 类型为 S ...
- c#中什么情况下用(int)什么情况下用Convert.ToInt32
1.c#中什么情况下用(int)什么情况下用Convert.ToInt32 ? 比如说有一个string型的3 ,要给它转换成int型的是用(int)3 ,还是用Convert.ToInt32(3 ...
- 有关int,Int32的疑惑解答
疑惑1:int.System.Int32和int32的区别 1. int32是IL中的基元类型(primary type),int和System.Int32是对int32进行了封装. 2. int和S ...
- [网摘]---有关int,Int32的疑惑解答
有关int,Int32的疑惑解答 疑惑1:int.System.Int32和int32的区别 1. int32是IL中的基元类型(primary type),int和System.Int32是对int ...
- .net Int16 、(int Int32)、 Int64 的区别
2019独角兽企业重金招聘Python工程师标准>>> .net Int16 .(int Int32). Int64 的区别 easonjim 2015-09-25 01:41:00 ...
最新文章
- 学web前端的第一天
- android如何获取listview中的任意行数据
- 光模块问题能ping通不能路由_宽带知识小白遇到问题很苦恼?都坐下、不要慌张...
- 查询当前oracle字符集,查询修改oracle当前字符集-转
- 2018.09.01 独立集(树形dp)
- 生成TFrecord
- 对Spring框架的理解(转)
- Oracle 声明常量
- PCL——快速邻域搜索
- preempt_disable宏
- pxe无盘服务器教程,PXE无盘网络原理简介及实战应用
- c语言中term,CTerm
- 现代雷达系统分析与设计---动目标检测(MTD)
- [Windows]Win10/Win11切换专业工作站版本
- selenium+java+TestNG 使用enabled 参数 —— 禁止执行一些case
- 小升初 择校简历标准
- 好吃易做的简单菜谱家常菜做法
- python打印七段数码管引脚图_前辈学51单片机的感悟是怎么样的?说说看
- LTE MAC层令牌桶算法
- iOS和Android上的本机心理健康监控:现在不是时候了吗?