几种整型转换 Intint.Parse()int.TryParse()Convert.toInt32()
一、定义上的差别 Int.Parse()( Int32.Parse() )表示将数字的字符串转换为
32位有符号整数,属于内容转换。 Convert.toInt32()表示可以将多种类型(包括 object 引用类型)
的值转换为 int 类型。 Int32.TryParse 与 int.Parse 又较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false。
二、Int.Parse()与Convert.toInt32()的差别
与int.Parse又较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false
。最后一个参数为输出值,如果转换失败,输出值为 0。
int属 cast 转换,只能将其它数字类型转换成int类型,它不能转换字符串
Convert.ToInt32会把最终的解析工作代理给Int32.Parse,而Int32.Parse和Int32.TryParse则分别把解析工作直接代理给Number.ParseInt32和Number.TryParseInt32 前者在出现解析,错误时会抛出异常,而后者则仅仅返回 false。 例子: 例1、long longtype=100;
Int inttype=longtype; //错误的写法,因为没有进行显式强制转换
Int inttype=(int)longtype; //正确的写法
例2、string stringtype="absfdg”; Int inttype=(int)stringtype; //错误,string不能直接转换为int Int inttype=Int.Parse(stringtype); 或者 Int inttype=Convert.ToInt32(stringtype); 或者 Int inttype=Int.TryParse(stringtype); //正确
一、定义上的差别 Int.Parse()( Int32.Parse() )表示将数字的字符串转换为
32位有符号整数,属于内容转换。 Convert.toInt32()表示可以将多种类型(包括 object 引用类型)
的值转换为 int 类型。 Int32.TryParse 与 int.Parse 又较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false。
二、Int.Parse()与Convert.toInt32()的差别
当传入的参数为null时,Int.Parse()抛出异常,Convert.toInt32()返回0;
当传入的参数为“”时,同事都抛出异常 Convert.ToInt32 可以转换的类型较多,int.Parse只能转换数字类型的字符串。
三、性能差异:
Int32.TryParse()优于Int32.Parse()优于Convert.ToInt32()。 int.TryParse与int.Parse又较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false
。最后一个参数为输出值,如果转换失败,输出值为 0。
int属 cast 转换,只能将其它数字类型转换成int类型,它不能转换字符串
Convert.ToInt32会把最终的解析工作代理给Int32.Parse,而Int32.Parse和Int32.TryParse则分别把解析工作直接代理给Number.ParseInt32和Number.TryParseInt32 前者在出现解析,错误时会抛出异常,而后者则仅仅返回 false。 例子: 例1、long longtype=100;
Int inttype=longtype; //错误的写法,因为没有进行显式强制转换
Int inttype=(int)longtype; //正确的写法
例2、string stringtype="absfdg”; Int inttype=(int)stringtype; //错误,string不能直接转换为int Int inttype=Int.Parse(stringtype); 或者 Int inttype=Convert.ToInt32(stringtype); 或者 Int inttype=Int.TryParse(stringtype); //正确