c#中(int)、int.Parse()、int.TryParse、Convert.ToInt32的区别详解

 更新时间:2014年07月18日 09:39:22   投稿:shichen2014  
这篇文章主要介绍了c#中(int)、int.Parse()、int.TryParse、Convert.ToInt32的区别,需要的朋友可以参考下

本文对c#中(int)、int.Parse()、int.TryParse、Convert.ToInt32的区别进行了较为深入的详细分析,对初学者而言可以起到巩固学习的目的。详情如下:

一、(int)变量名[强制类型转换]:

该转换方式主要用于数字类型转换,从int类型到long,float,double,decimal类型,可以使用隐式转换,但是从long类型到int类型就需要使用显式转换,也就是该数据类型转换方式,否则会产生编译错误。
该方式对于浮点数会做无条件舍去,失去精确度。
当然,该方式也可以进行object到int得转换,但是,object的值要赋予int类型的值,否则会产生编译错误,而且object为null时也会出错。
最后切忌的一点,千万不要用来处理char类型到int类型的转换,否则传回的的值是ASCII代码,而并不是你想要的值。

二、int.Parse(string类型变量名)

该方式是将数字内容的字符串转为int类型,如果字符串内容为空或者null时,则抛出ArgumentNullException异常;如果字符串内容不是数字,则抛出FormatException异常;如果字符串内容所表示数字超出int类型可表示的范围,则抛出OverflowException异常
使用该方法切忌的一点就是只能处理字符串内容,而且字符串内容只能在int类型可表示的范围之内。

三、int.TryParse(string s, out int result)

该方式也是将数字内容的字符串转为int类型,但是该方式比int.Parse优越的地方,就是它不会出现异常。如果转换成功返回true,如果转换失败返回false。很明显,最后一个参数为输出值,如果转换失败,输出值为0;如果转换成功,则输出相应的值。

四、Convert.ToInt32

该方式不仅可以将字符串转为int类型,还可以将其它类型的值转成int类型。变量若为object或string类型,当其值为null时,会传回0,不会造成程序错误,但是若此string类型的值为string.Empty,在转型成int时,仍会造成程序错误。该方式对于浮点数会做四舍五入。
该方式同强制转换一样,不能用来处理char类型,否则传回的是ASCII代码。

相关文章

  • C#迭代器方法介绍

    C#迭代器方法介绍

    这篇文章主要介绍了C#迭代器方法,可以使用foreach循环语句进行的迭代的方法,称为可迭代方法,或者迭代器方法,方法操作,想了解更多内容得小伙伴可以学习下面文章内容,希望给你的学习带来帮助
    2022-03-03
  • C# wpf实现任意控件更多拖动功能

    C# wpf实现任意控件更多拖动功能

    这篇文章主要为大家详细介绍了C# wpf如何实现任意控件(包括窗口)更多拖动功能,文中的示例代码讲解详细,有兴趣的小伙伴可以跟随小编一起学习一下
    2023-11-11
  • C# xml序列化实现及遇到的坑

    C# xml序列化实现及遇到的坑

    在C#中,当我们需要将对象存储到文件或通过网络发送时,我们可以使用XML序列化将C#对象转换为XML文档,以便于存储、传输和还原,本文主要介绍了C# xml序列化实现及遇到的坑,感兴趣的可以了解一下
    2023-09-09
  • 详解C#如何判断输入的数字是否符合货币格式

    详解C#如何判断输入的数字是否符合货币格式

    这篇文章主要为大家详细介绍了C#判断输入的数字是否符合货币格式的两种常见方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-01-01
  • C#使用Winform连接SQL Server数据库的详细步骤

    C#使用Winform连接SQL Server数据库的详细步骤

    Windows Forms是一个用于构建Windows桌面应用程序的图形用户界面(GUI)库,它是.NET Framework的一部分,允许开发者快速创建丰富的交互式界面,本文给大家介绍了C#使用Winforms连接SQL Server数据库的详细步骤,需要的朋友可以参考下
    2024-09-09
  • Unity3D生成一段隧道网格的方法

    Unity3D生成一段隧道网格的方法

    这篇文章主要为大家详细介绍了Unity3D生成一段隧道网格的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-08-08
  • C#使用post发送和接收数据的方法

    C#使用post发送和接收数据的方法

    这篇文章主要介绍了C#使用post发送和接收数据的方法,涉及C#使用post收发数据的相关技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • C#中DataBindings用法实例分析

    C#中DataBindings用法实例分析

    这篇文章主要介绍了C#中DataBindings用法,结合实例形式详细分析了DataBindings绑定数据源及刷新数据的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • C#中实现Json序列化与反序列化的几种方式

    C#中实现Json序列化与反序列化的几种方式

    C#中实现Json的序列化与反序列化也算是个老话题,那么在这篇文章中我们将老话重提,本文中将会学到如何使用C#,来序列化对象成为Json格式的数据,以及如何反序列化Json数据到对象。有需要的朋友们可以参考借鉴,下面来跟着小编一起学习学习吧。
    2016-12-12
  • C# 多线程处理List数据的示例代码

    C# 多线程处理List数据的示例代码

    这篇文章主要介绍了C# 多线程处理List数据的示例代码,帮助大家更好的理解和使用c#编程语言,感兴趣的朋友可以了解下
    2020-12-12

最新评论