Convert.ToInt32,Int32.Parse和Int32.TryParse的关系

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

你可以写一个很简单的小程序,例如  int i = Convert.ToInt32("i");
没有疑问程序一定会抛出异常:“输入字符串的格式不正确”。
“查看详细消息” 的“StackTrace”最上面面的错误信息如下:
在 System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
   在 System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
   在 System.Convert.ToInt32(String value)
通过错误信息,就会发现Convert.ToInt32方法是怎么工作的了。

posted on 2008-04-04 01:13  齐世昌  阅读(554)  评论(0编辑  收藏  举报