一尘不染

int.Parse()和Convert.ToInt32之间的主要区别是什么

c#

  • int.Parse()和之间的主要区别是Convert.ToInt32()什么?
  • 哪一个是首选

阅读 337

收藏
2020-05-19

共1个答案

一尘不染

  • 如果您有一个字符串,并且希望它始终是整数(例如,如果某些Web服务将字符串格式的整数交给您),则可以使用 Int32.Parse()

  • 如果您要收集用户的输入,通常会使用 Int32.TryParse() ,因为它可以让您对用户输入无效输入时的情况进行更细粒度的控制。

  • Convert.ToInt32() 将对象作为其参数。(有关其工作原理,请参见Chris S的答案)

Convert.ToInt32()``ArgumentNullException当其参数为null时,也不会像方法那样抛出Int32.Parse()。这也意味着它Convert.ToInt32()可能比慢一点Int32.Parse(),尽管实际上,除非您在循环中进行大量迭代,否则您永远不会注意到它。

2020-05-19