【问题标题】:Which conversion method is better?哪种转换方法更好?
【发布时间】:2010-07-13 04:05:12
【问题描述】:

Convert.ToInt32 或 Int.Parse 哪个更好,为什么?有什么特定条件可以使用这两个吗?

【问题讨论】:

  • Int32.TryParse(..) 最好 - 我认为这个问题更适合 codereview.stackexchange.com

标签: c#


【解决方案1】:

大概你问的是Convert.ToInt32,它接受一个字符串。在这种情况下,它只是在内部调用 int.Parse,所以除了 Convert 通过返回 0 来优雅地处理 null 之外没有真正的区别。

【讨论】:

    【解决方案2】:

    Convert.ToInt32 在内部调用 Int.Parse 并进行空检查。所以 Null 检查是额外的,在 Null 参数的情况下不会抛出。

    你可以在这里参考这个问题:Any performance difference between int.Parse() and Convert.Toint()?

    【讨论】:

      【解决方案3】:

      其中一个调用另一个(虽然我不记得哪个是哪个 ATM),所以它们之间没有实际区别。

      【讨论】:

        【解决方案4】:

        来自Reflector

        public static int ToInt32(string value)
        {
            if (value == null)
            {
                return 0;
            }
            return int.Parse(value, CultureInfo.CurrentCulture);
        }
        

        所以调用 int.Parse() 会快一点。

        【讨论】:

        • 无法衡量。暗示此类操作甚至值得考虑是误导新开发人员。
        【解决方案5】:

        如果您不希望 null 永远作为参数传递,请使用 int.Parse,从那时起,当出现确实错误时,您将收到异常警报。 p>

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-02-08
          • 2011-12-12
          • 2012-08-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多