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)则 会产生异常。

举例来说:

假 如从url中取一个参数page的值,我们知道这个值是一 个int,所以即可以用Convert.ToInt32(Request.QueryString["page"]),也可以 用int.Parse(Request.QueryString["page"]),但是如果page这个参数在url中不 存在,那么前者将返回0,0可能是一个有效的值,所以你不知道url中原来根本就没有这个参数而继续进行下一步的处理,这就可能产生意想不到的效果;而用 后 一种方法的话没有page这个参数则会抛出异常,我们可以捕获异常然后再做相应 处理,比如提示用户缺少参数等,而不是把参数值当做0来处理。

5、再有一点区别是:

(1).Convert.ToInt32(double value) 如果 value 为两个整数中间的数字,则返回二者中的偶数;即 4.5 转换为 4,而 5.5 转换为 6;

(2). int(4.6) = 4,int转化其他数值类型为int时没有四舍五入,强制转换(截取整数部分);

(3). int.Parse(4.5) 会直接报错:"输入字符串的格式不正确"。

int.Parse是转换String为int;

Convert.ToInt32是转换继承自Object的对象为int的; 你得到一个object对象,你想把它转换为int,用int.Parse就不可以,要用 Convert.ToInt32.

总结:

(1)Convert.ToInt32的参数比较多,Int.Parse只能转换string类型的.

(2)Parse就是把String转换成int,char,double....等,也就是*.Parse(string) 括号中的一定要是string.

(3)Convert可以提供多种类型的转换,也就是Convert.*()括号中可以为很多种类 型(包括string).

转:C#整数三种强制类型转换int、Convert.ToInt32()、int.Parse()的区别的更多相关文章

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

    1.int适合简单数据类型之间的转换,C#的默认整型是int32(不支持bool型); 2.int.Parse(string sParameter)是个构造函数,参数类型只支持string类型; 3. ...

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

    1.int适合简单数据类型之间的转换,C#的默认整型是int32(不支持bool型); 2.int.Parse(string sParameter)是个构造函数,参数类型只支持string类型; 3. ...

  3. C#中,三种强制类型转换的对比

    在C#中,我们可以看到三种强制类型转换,比如强制转换成有符号32位整型,可以找到下面三种方式: ① (int)()                ②Convert.ToInt32()          ...

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

    这三种方式都是强制把内容转换为整数,但他们之间是有区别的,如下: 一.(int)适合简单数据类型之间的转换,C#的默认整型是int32(不支持bool型). 二.int.Parse(string sP ...

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

    .int适合简单数据类型之间的转换,C#的默认整型是int32(不支持bool型): .int.Parse(string sParameter)是个构造函数,参数类型只支持string类型: .Con ...

  6. (int),Convert.ToInt32(),Int32.Parse(),Int32.TryParsed()的用法总结

    1 (int) 强制转型为整型. 当将long,float,double,decimal等类型转换成int类型时可采用这种方式. double dblNum = 20; int intDblNum = ...

  7. 四种强制类型转换的总结(const_cast、static_cast、dynamic_cast、reinterpreter_cast)

    四种强制类型转换的总结(const_cast.static_cast.dynamic_cast.reinterpreter_cast) 转载 2011年10月03日 23:59:05 标签: stru ...

  8. C++中的关键字用法--- 四种强制类型转换的总结

    四种强制类型转换的总结(const_cast.static_cast.dynamic_cast.reinterpreter_cast 1. C风格的强制类型转换(Type Cast)很简单,不管什么类 ...

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

    int.TryParse,Convert.ToInt32,(int) 这几种类型在将浮点类型转换整数时是有差别 Convert.ToInt32则会进行四舍五入 int.TryParse只能转换整数,即 ...

随机推荐

  1. The run destination XXX的 iPhone is not valid for Running the scheme 'Day7通讯录Demo'.

    错误:

  2. QQ中未读气泡拖拽消失的实现(参照一位年轻牛B的博主的思路自己实现了一下)

    原文链接:http://kittenyang.com/drawablebubble/,博主年轻却很有思想.相仿的年纪,很佩服他! 首先分析拖拽时的图,大圆.不规则的图(实际上时有规律的不然也画不出来, ...

  3. div没有设置高度时背景颜色不显示(浮动)

    在使用div+css进行网页布局时,如果外部div有背景颜色或者边框,而不设置其高度,在IE浏览器下显示正常.但是使用Firefox/opera浏览时却出现最外层Div的背景颜色和边框不起作用的问题. ...

  4. UVA11361 Investigating Div-Sum Property(数位dp)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud 题目意思:问在区间[A,B]有多少个数不仅满足自身是k的倍数,而且其各个位数上的和 ...

  5. 使用正则表达式限制swing (JTextField等) 的输入

    之前使用Qt编写Gui程序的时候,可以直接使用正则表达式限制所有输入框,非常方便. 这段时间要做一份课程设计,使用java编写,ui要限制输入,比如只能输入x位数字,输入身份证等. 百度了许多资料,发 ...

  6. jQuery Moblile Demos学习记录Panel

    jQuery Moblile Demos学习记录Panel 11. 二 / Jquery Mobile / 没有评论   本文来源于www.ifyao.com禁止转载!www.ifyao.com 我就 ...

  7. mysql截取字符串

    mysql 字符串截取1.从左开始截取字符串left(str,length)被截取字段,截取长度select left('admin1213',5) from table 2.从右开始截取字符串rig ...

  8. ExtJs 学习笔记

    1.显示中文  <script type="text/javascript" src="../../locale/ext-lang-zh_CN.js"&g ...

  9. Glide 加载图片背景变绿

    解决方案: Glide.with(mContext).load(url).diskCacheStrategy(DiskCacheStrategy.SOURCE).into(imageView);

  10. Mysql 6.7.7 + EntityFramework 5.0 Code First 不能 Update-Database 问题的解决

    1.修改 Migrations/Configuration.cs 文件 namespace DataModel.Migrations { using System; using System.Data ...