我经常需要把string形式的数字转换成int,通常有两个方法可以实现,看下面的代码:
string str = "12345";
Console.WriteLine("Int32.Parse:\t{0}\nConvert.ToInt32:\t{1}", int.Parse(str), Convert.ToInt32(str));
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
显示为
Int32.Parse: 12345
Convert.ToInt32: 12345
Convert.ToInt32: 12345
可以看出,两个方法都将string形式的数字转换成了int,但是它们之间有什么区别呢?我查了一下MSDN,资料如下
Int32.Parse 方法
将数字的字符串表示形式转换为它的等效 32 位有符号整数。
重载列表
public static int Parse(string);
Convert.ToInt32 方法
将数字的指定 String 表示形式转换为等效的 32 位有符号整数。
public static int ToInt32(string);
返回值是对 value 调用 Int32.Parse 方法的结果。