Int.Parse()、Convert.toInt32()和(int)区别

浅谈Int.Parse()、Convert.toInt32()和(int)区别

痞子三分冷 提交于 2019-12-01 14:39:49
以前看面试题,偶尔看到些关于这些类型转换的问题,经过网络上查询,发现不完整,所以整理了下,加上了自己的见解! 一、定义上的差别 int 类型表示一种整型, .NET Framework 类型为 System.Int32 。而是用( int )表示显式强制类型转换,当从 int 类型到 long 、 float 、 double 或 decimal 类型,称为隐式转换;当从从 double 或 decimal 、 float 、 long 、 int 类型逐级转换时,称为显式强制类型转换。(对 long 类型或是浮点型到 int 类型的显式强制转换中使用,但是如果被转换的数值大于 Int32.MaxValue 或小于 Int32.MinValue ,那么则会得到一个错误的结果) Int.Parse() 表示将数字的字符串转换为 32 位有符号整数,属于内容转换。 Convert.toInt32() 表示可以将多种类型 ( 包括 object 引用类型 ) 的值转换为 int 类型。 Int32.TryParse 与 int.Parse 又较为类似,但它不会产生异常,转换成功返回 true ,转换失败返回 false 。 二、 Int.Parse() 与 Convert.toInt32() 的差别 1 、 Int.Parse() 当传入的是 Null ,将会抛出异常; Convert