巧,我今天刚好也遇到类似的疑问,这是一段别人写好的代码:
public static Int32 GetInt32(object o)
{
if (o is Int32) return (Int32)o;
else return Int32.Parse(o.ToString());
}
我想这样可能是出于对性能上的考虑吧。因为传进来的可能就是一个Int32,如果都用Parse方法调用需要对这个Int32进行装箱操作,解析后再进行一次拆箱操作。
楼主的问题应该是基本没有什么区别。这是Convert类的ToInt32方法
public static int ToInt32(string value)
{
      if (value == null)
      {
            return 0;
      }
      return int.Parse(value);
}
它里面实际上就是调用了Parse方法。
而int.Parse(string)是一个CLR内部方法(我理解好像是.net底层代码,可能由com或IL级的语言实现。不一定正确,有时间我再开贴寻问这个问题。),性能应该是最高的。