当前位置: 代码迷 >> C# >> int.Trypasre() 、int.pasre()、Convert.To32() 的差异
  详细解决方案

int.Trypasre() 、int.pasre()、Convert.To32() 的差异

热度:12   发布时间:2016-05-05 03:06:39.0
int.Trypasre() 、int.pasre()、Convert.To32() 的区别

int.Trypasre() 

Int32.TryParse(source, result)则无论如何都不抛出异常,只会返回true或false来说明解析是否成功,如果解析失败,调用方将会得到0值。

int.pasre()

如果解析失败,Int32.Parse(source)总会抛出异常。

Convert.To32()

Convert.ToInt32(source)在source为null的情况下不会抛出异常而是简单的返回0给调用方。

 

Pasre 与 Convert 的本质区别

Convert 用来转换继承自object类型的类型(当然所有的类型都是继承自object的),但是一般Convert用来转化直接就是obejct的类型

Parse只用来转换String类型的数据。

 

性能上:

无论是Pasre,还是会Convert 底层都是调用Int类的 Pasre()回调只读类Number身上去进行类型转换。所以Pasre会比Convert快。

 

PS:我这里是对parse与 Convert的一些总结,

大部分来自 http://bbs.csdn.net/topics/280063811。

 

  相关解决方案