Convert.ToInt32()在null时不抛异常而是返回0;
Int32.Parse()要抛异常;
I nt32.TryParse()不抛异常,会返回true或false来说明解析是否成功,如果解析错误,调用方将会得到0值。
然后是在性能方面:
3个方法几乎没有差异!
如果真要追求完美那么性能的差异是: Int32.TryParse()优于Int32.Parse()优于Convert.ToInt32()。
所以个人建议:.NET1.1下用Int32.Parse();.NET2.0用Int32.TryParse()。
那么为什么会这样呢?其实这些数据不是偶然的,
因为:Convert.ToInt32 会把最终的解析工作代理给 Int32.Parse;Int32.Parse 会把最终的解析
工作代理给Number.ParseInt32;
Int32.TryParse 会把最终的解析工作代理给Number.TryParseInt32。
本人第1次发表文章,部分也是转载的,希望对大家有帮助!