C#之Convert.ToInt32()和int.Parse()的区别

C#之Convert.ToInt32()和int.Parse()的区别

1、Convert.ToInt32()是将继承于object类的对象转换成int;

int.Parse()只能将String类的对象转换成int,即括号中的数据类型只能是String类型

2、对NULL值得处理:Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常

3、当括号中得数据类型为double型时:

(1)Convert.ToInt32(double value),如果value为3.5,转换后为4;value为4.5,转换后还是4;value为5.5,转换后为6。也就是说,当value为double型时,返回相邻两个整数中为偶数的那一个。

(2)在int.Parse(value) 中,如果value为double型,直接报错:"输入字符串的格式不正确".

4、Parse就是把参数类型为String的转换成int,char,double....等,即*.Parse(string  value),value一定要是string 类型的,否则会报错!!!

Convert可以提供多种类型的转换,即Convert.*(value) 中对value类型没有限制。

补充:

int.TryParse(string s,out param)是一个实现参数转换的方法,其返回值为bool类型。

示例:

int number = 0;
bool b = int.TryParse( "123", out number );
//如果字符串可转换成int类型的参数,则返回true,输出number;否则,返回false,number为0

 

你可能感兴趣的:(C#)