通过网上的查询从而了解了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 异常

转载于:https://www.cnblogs.com/li1002/p/4395844.html

Int.Parse()、Convert.toInt32()和(int)区别相关推荐

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

    Convert.ToInt32()与int.Parse()的区别(1)这两个方法的最大不同是它们对null值的处理:Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Pa ...

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

    Convert.ToInt32()与int.Parse()的区别 一.区别一 这两个方法的最大不同是它们对null值的处理方法: Convert.ToInt32(null)会返回0而不会产生任何异常, ...

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

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

  4. arduino int转char_将char *转换为int arduino(Convert char* to int arduino)

    将char *转换为int arduino(Convert char* to int arduino) 我有问题从char获取int值..这里 Serial.println(((char *)&quo ...

  5. 关于Convert.ToInt32和int.Parse用法总结

    Convert是一个类,继承自system.Object:int是值类型 Convert.ToInt32()内部就是调用了int.Parse()方法; Convert.ToInt32()方法可以将多种 ...

  6. flutter int.parse报错type ‘int‘ is not a subtype of type ‘String‘

    项目中想要计算一些通过接口获取的数值,便使用int.parse('')转换. 尝试打印o['num']发现也有值,只是看不到类型,int.parse(arg)的参数是string类型,尝试对o['nu ...

  7. (int),Int32.Parse() 和 Convert.toInt32() 的区别

    在 C# 中,(int),Int32.Parse() 和 Convert.toInt32() 三种方法有何区别? int 关键字表示一种整型,是32位的,它的 .NET Framework 类型为 S ...

  8. 在 C# 中,(int) ,Int32.Parse() 和 Convert.toInt32() 三种方法的区别

    在 C# 中,(int),Int32.Parse() 和 Convert.toInt32() 三种方法有何区别? int 关键字表示一种整型,是32位的,它的 .NET Framework 类型为 S ...

  9. int.Parse()和Convert.ToInt32之间的主要区别是什么

    int.Parse()和Convert.ToInt32()之间的主要区别是什么? 哪一个是首选 #1楼 Convert.ToInt32 有19种重载或19种不同的方式可以称之为. 2010版可能更多. ...

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

    今天去面试,碰到这样一道题目,回来查了下答案~! Convert.ToInt32.(int)和int.Parse三者的区别: 前者适合将object类类型转换成int类型,如Convert.ToInt ...

最新文章

  1. 《繁凡的深度学习笔记》前言、目录大纲 一文让你完全弄懂深度学习所有基础(DL笔记整理系列)
  2. unity 天空盒_使用Substance in Unity搭建Unity和SP的live link实时互通环境
  3. 尝试去读SQLMAP源码(一)
  4. mp4box 封装H265码流
  5. Ubuntu 下连接Github
  6. 【知识便利贴】ImageNet得的比Best Paper还牛的Longuet-Higgins奖是什么?
  7. docx 图片预处理 Java_如何在java中将docx文件头图像复制到另一个docx文件中
  8. 【今日CV 计算机视觉论文速览 第130期】Thu, 13 Jun 2019
  9. 常见c#正则表达式类学习整理
  10. JAVA、android常用时间处理方法及类似微信微博发表时间显示
  11. 实现元素水平垂直居中的4种方法
  12. CAD点位坐标提取的方法
  13. Kaggle(入门)
  14. matlab拟合系数精度怎么调,Matlab中拟合函数的系数错误
  15. maven阿里云仓库
  16. 2G 3G 4G 5G 基站架构演进
  17. tar命令(linux解压缩命令)
  18. 院士解读:海洋研究为何需要超级计算机?
  19. CSS实现button按钮的点击效果
  20. 软件开发——软技能(一、IDE)

热门文章

  1. 利用Python下载网络小说并保存到本地文件
  2. 经典排序算法(五)--鸽巢排序Pigeonhole Sort
  3. Ajax基础 Ajax发送Get请求和post请求
  4. 代码一致性 java_java实现一致性hash算法实例代码
  5. Rulo扫地机器人app_扫地机器人扫不干净 为什么我还推荐大家买?
  6. MobaXterm怎么复制粘贴以及多窗口执行
  7. 过拟合和欠拟合_TensorFlow教程-过拟合和欠拟合
  8. 面向对象java试题_经典面向对象试题,用Java做,要详细点的!先谢过了
  9. php 五子棋源联机版_五子棋服务器客户端联机对战 C++版完整代码
  10. 留言板分页php,php留言板代码[经典的分页代码](1/4)