首页 > 学院 > 开发设计 > 正文

[C#]Int32.TryParse()、int.Parse和Convert.ToInt32的区别

2019-11-14 09:09:03
字体:
来源:转载
供稿:网友

【前言】

稍微了解一点C#的话可能会知道类型转换有好几种方法,目前看C#视频中讲到了两种方法,分别是int.Parse和Convert.ToInt32,但是这两者有什么区别呢?它们有什么相同点和不点呢?请看下文。

【正文】

在如下C#例子中两种方法都能正确的执行所要表达的代码。

这里写图片描述

int age = Convert.ToInt32(strNUM);int age1 = int.Parse(strNUM);

这两行代码所表达的意思是一样的,都是为了把字符串类型(str)转化为整形(int),这个时候他们的作用是一样的。

他们的区别是什么呢?经过百度查询, Convert.toInt32()表示可以将多种类型(包括 object 引用类型)的值转换为 int 类型;Int.Parse()表示将数字的字符串转换为32位有符号整数,属于内容转换;Int32.TryParse 与 int.Parse 又较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false。

性能差异:nt32.TryParse()优于Int32.Parse()优于Convert.ToInt32()。 Convert.ToInt32会把最终的解析工作代理给Int32.Parse,而Int32.Parse和Int32.TryParse则分别把解析工作直接代理给Number.ParseInt32和Number.TryParseInt32,前者在出现解析,错误时会抛出异常,而后者则仅仅返回 false。

更详细的差异比较后续更新喔~


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表