在C#中进行整型转换的时候我们一般都会用到Convert.ToInt..和int.Parse,其实他们之间还是有区别的。
今天用Reflector查看了Convert类的源代码:
Code
1 public static int ToInt32(object value)
2 {
3 if (value != null)
4 {
5 return ((IConvertible) value).ToInt32(null);
6 }
7 return 0;
8 }
9
10
1 public static int ToInt32(object value)
2 {
3 if (value != null)
4 {
5 return ((IConvertible) value).ToInt32(null);
6 }
7 return 0;
8 }
9
10
当被转换值为null是并不会抛出异常,而是返回0
但int 1 = int.Parse(null)就会抛出异常,所以建议大家以后在项目开发中尽量用Convert.ToInt..或者int.TryParse进行转换。
15:19:00