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

通过网上的查询从而了解了Int.Parse()、Convert.toInt32()和(int)区别。

一、定义上的差别

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.toInt32()当传入的是Null,将返回0。

例如:Int.Parse(null)抛出异常,Convert.toInt32(null)==0,返回true。

2、Int.Parse()传入的是” ”,将会抛出异常;Convert.toInt32()传入的是” ”,也将抛出异常。

例如:Int.Parse(“”)与Convert.toInt32(“”)都将抛出异常。

3、性能差异:

Int32.TryParse()优于Int32.Parse()优于Convert.ToInt32()。

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=”12345”;

Int   inttype=(int)stringtype;   //错误,string不能直接转换为int

Int   inttype=Int.Parse(stringtype);  //正确

3、long longType = 100;
        string stringType = "12345";
        object objectType = "54321";
        int intType = Convert.ToInt32(longType);       //正确
        Int intType = Convert.ToInt32(stringType);     //正确
        int intType = Convert.ToInt32(objectType);    //正确

4、double doubleType = Int32.MaxValue + 1.011;

int   intType = (int)doubleType;       //虽然运行正确,但是得出错误结果
     int  intType=Convert.ToInt32(doubleType) ; //抛OverflowException 异常

时间: 2024-11-05 15:58:05

Int.Parse()、Convert.toInt32()和(int)区别的相关文章

C# 中 int、Convert.ToInt32()、int.Parse()的区别

int适合简单数据类型之间的转换,C#的默认整型是int32(不支持bool型); int.Parse(string sParameter)是个构造函数,参数类型只支持string类型; Convert.ToInt32()适合将Object类型转换为int型; Convert.ToInt32()和int.Parse()的细微差别: 对于空值(null)的处理不 同,Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则 会产生异常. https:

Convert.ToInt32、(int)和int.Parse三者的区别

前者适合将object类类型转换成int类型,如Convert.ToInt32(session["shuzi"]); (int)适合简单数据类型之间的转换: int.Parse适合将string类类型转换成int类型,如int.Parse(session["shuzi"].ToString()). (1)这两个方法的最大不同是它们对null值的处理方法:    Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会

Convert.ToInt32()与int.Parse()的区别

转载: http://www.cnblogs.com/linyechengwei/archive/2008/11/10/1330819.html (1)这两个方法的最大不同是它们对null值的处理方法:     Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常. 没搞清楚 Convert.ToInt32和int.Parse()的细细微区别时千万别乱用,否则可能会产生无法预料的结果,举例来说:假如从url中取一个参数 page的值,

Convert.ToInt32() 和 int.Parse() 的区别

int.Parse是转换String为int Convert.ToInt32是转换继承自Object的对象为int的. 你得到一个object对象,你想把它转换为int,用int.Parse就不可以,要用Convert.ToInt32 Convert.ToInt32()与int.Parse()的区别 (1)这两个方法的最大不同是它们对null值的处理方法:Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常.没搞清楚Convert.T

Convert.ToInt32()与int.Parse()的区别 (转载)

Convert.ToInt32()与int.Parse()的区别(1)这两个方法的最大不同是它们对null值的处理:Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常. 这会在某些情景得到应用,举例来说:假如从url中取一个参数page的值,我们知道这个值是一个int,所以即可以用 Convert.ToInt32(Request.QueryString["page"]),也可以用,int.Parse(Request.Que

C#:Convert.ToInt32()与int.Parse()的区别 [转]

这两个方法的最大不同是它们对null值的处理方法:Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常. 没搞清楚Convert.ToInt32和int.Parse()的细细微区别时千万别乱用,否则可能会产生无法预料的结果.举例来说:假如从url中取一个参数page的值,我们知道这个值是一个int,所以即可以用 Convert.ToInt32(Request.QueryString["page"]) ,或者 int.Pars

Convert.ToInt32()和int.Parse()区别

Convert.ToInt32()和int.Parse()都可以数据转换个int类型,区别在于: 1. Convert.ToInt32()将object类类型转换成int类型,例如:Convert.ToInt(textBox1.Test) int.Parse()将String类型转换成int类型,例如:int.Parse( textBox1.Test.ToString() ) 2. Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常

C#整数三种强制类型转换int、Convert.ToInt32()、int.Parse()的区别

1.int适合简单数据类型之间的转换,C#的默认整型是int32(不支持bool型); 2.int.Parse(string sParameter)是个构造函数,参数类型只支持string类型; 3.Convert.ToInt32()适合将Object类型转换为int型; 4.Convert.ToInt32()和int.Parse()的细微差别: 对于空值(null)的处理不 同,Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则 会产生异常

Convert.ToInt32()和int.Parse()的区别

(1)Convert.ToInt32(null)会返回0而不会报异常,但int.Parse(null)则会产生异常 (2)Convert.ToInt32("")和int.Parse("")都会产生异常,两个方法的参数不能为空字符串. (3) a. Convert.ToInt32(double value) 如果 value 为两个整数中间的数字,则返回二者中的偶数:即 3.5转换为4,4.5 转换为 4,而 5.5 转换为 6.  不过4.6可以转换为5,4.4转换

C# 使用int.TryParse,Convert.ToInt32,(int)将浮点类型转换整数时的区别

int.TryParse,Convert.ToInt32,(int) 这几种类型在将浮点类型转换整数时是有差别 Convert.ToInt32则会进行四舍五入 int.TryParse只能转换整数,即浮点类型全部会返回0 (int)不会进行四舍五入,只取整数部分,小数点部分完全舍弃 using  System;public   class  DoubleToInt{     public   static   void  Main()    {        Test_DoubleToInt(