`
xitongyunwei
  • 浏览: 937630 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多
以前经常为这几种数据类型转换方式而迷茫,这次为了彻底搞清它们之间的区别和优缺点,在网上查看了一些资料,并亲自验证了一下,在此写出来,一方面,为那些跟我有过相似经历的朋友们些许,另一方面,希望前辈们指导一下,看哪里有不合适的地方。

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

该转换方式主要用于数字类型转换,从int类型到long,float,double,decimal类型,可以使用隐式转换,但是从long类型到int类型就需要使用显式转换,也就是该数据类型转换方式,否则会产生编译错误。

该方式对于浮点数会做无条件舍去,失去精确度

当然,该方式也可以进行object到int得转换,但是,object的值要赋予int类型的值,否则会产生编译错误,而且object为null时也会出错。

最后切忌的一点,千万不要用来处理char类型到int类型的转换,否则传回的的值是ASCII代码,而并不是你想要的值。

2 int.Parse(string类型变量名)

该方式是将数字内容的字符串转为int类型,如果字符串内容为空或者null时,则抛出ArgumentNullException异常;如果字符串内容不是数字,则抛出FormatException异常;如果字符串内容所表示数字超出int类型可表示的范围,则抛出OverflowException异常。

使用该方法切忌的一点就是只能处理字符串内容,而且字符串内容只能在int类型可表示的范围之内。

3 int.TryParse(string s, out int result)

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

4 Convert.ToInt32

该方式不仅可以将字符串转为int类型,还可以将其它类型的值转成int类型。变量若为object或string类型,当其值为null时,会传回0,不会造成程序错误,但是若此string类型的值为string.Empty,在转型成int时,仍会造成程序错误。

该方式对于浮点数会做四舍五入。

该方式同强制转换一样,不能用来处理char类型,否则传回的是ASCII代码。

博客出处:http://blog.csdn.net/tangjunping/article/details/5443337

分享到:
评论

相关推荐

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

    主要介绍了c#中(int)、int.Parse()、int.TryParse、Convert.ToInt32的区别,需要的朋友可以参考下

    C#中int、Convert、Parse、TryParse的区别对比.docx

    C#中int、Convert、Parse、TryParse的区别对比,非常不错的收藏的信息。C#中int、Convert、Parse、TryParse的区别对比,非常不错的收藏的信息。

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

    Convert.ToInt32、int.Parse(Int32.Parse)、int.TryParse、(int) 四者都可以解释为将类型转换为 int,那它们的区别是什么呢?Convert.ToInt32 与 int.Parse 较为类似,实际上 Convert.ToInt32 内部调用了 int....

    Convert.ToInt32与Int32.Parse区别及Int32.TryParse

    2个方法都可以把string转换为int,那么他们有什么区别?什么时候该用什么?性能如何。其实在2.0里还有Int32.TryParse也实现了同样的效果。

    Int。int.Prase.ToInt之间的装换效率问题

    Int。int.Prase.ToInt之间的装换效率问题..Int。int.Prase.ToInt之间的装换效率问题

    C#中Convert.ToInt32()和int.Parse()的区别介绍

    Convert是一个类,继承自system.Object;int是值类型 Convert.ToInt32()内部就是调用了int.Parse()方法;... 您可能感兴趣的文章:C#中Html.RenderPartial与Html.RenderAction的区别分析c#中(int)、int.Parse()、

    C#经典项目经验总结.doc

    2.Convert.ToInt32(); 与Int32.Parse的区别 3. Subst命令的使用 4.Button控件的onclick、oncommand、commandname、CommandArgument的区别 . . . Ajax(Asynchronous JavaScript + XML)的定义 使用模型窗口时,...

    java.text.ParseException: Unparseable date: 2/10/2010 15:20:05

    NULL 博文链接:https://speed-guo.iteye.com/blog/903163

    JSqlparser4.4版作者提供的应急版,解决无法解析mysql中JSON_OBJECT函数存在其它函数问题

    如下sql,JSON_OBJECT函数中存在CAST函数,随后报出ParseException问题! SELECT JSON_ARRAYAGG(obj) FROM (SELECT trt.relevance_id,JSON_OBJECT('id',CAST(trt.id AS CHAR),'taskName',trt.task_name,'openStatus'...

    C#开发之int与string转化操作

    1、int–>string ... int a3 = Convert.ToInt32(s); 总结: 1、可以使用Convert对int,string进行来回转化,并且可以指定转化的进制; 2、转化为string,可以使用ToString方法; 3、转化为int,可以使

    C#试题汇总有答案.doc

    13. 将变量从字符串类型转换为数值类型可以使用的类型转换方法是int.Parse()。 知识点:类型转换 14. 数据类型转换的类是Convert。 知识点:类型转换 15. 字符串连接运算符包括&和+。 知识点:字符串连接 16....

    JSON2.JS JSON.JS JSON_PARSE.JS

    toJSONString method and a parseJSON method to Object.prototype. Use of this file is not recommended. json_parse.js: This file contains an alternative JSON parse function that uses recursive descent ...

    C#编程3条件判断.ppt

    char op = Convert.ToChar(Console.ReadLine()); switch (op) { case '+': Console.WriteLine("结果是:{0}", a + b); break; case '-': Console.WriteLine("结果是:{0}", a - b); break; case '*': ...

    C#优化字符串操作

    1.Convert.ToInt32与Int32.Parse的恩恩怨怨 2.Split的3种用法 3.@"abc"和"abc"区别在那里 4.保留2位有效小数及四舍五入 5.url传递中文的解决方案 6.把123456789转换为12-345-6789的3种方法 7.交换...

    crypto-js base64

    var key = CryptoJS.enc.Utf8.parse("1234567890000000"); //16位 var iv = CryptoJS.enc.Utf8.parse("1234567890000000"); var encrypted = ''; if (typeof(word) == 'string') { var srcs = CryptoJS.enc.Utf...

    C#编写的应用程序(求根运算)

    int a; int b; int c; double x1; double x2; a = Int16.Parse(textBox1.Text); b = Int16.Parse(textBox2.Text); c = Int16.Parse(textBox3.Text); x1 =(-b + System.Math.Sqrt(Convert.ToDouble (b * b - ...

Global site tag (gtag.js) - Google Analytics