最好使用以下声明
Convert.ToInt32(“0”+ stringValue)
如果没有那么为什么?
我知道使用int.TryParse()函数更好,这更好,但上面的语句呢。
答案 0 :(得分:5)
比什么更好?
就我个人而言,我认为使用Convert.ToInt32("0" + stringValue)
是一种反模式。
它没有提供任何有用的东西,因为:
直接使用Convert.ToInt32(stringValue)
或int.TryParse
如果您不想进行异常处理。
答案 1 :(得分:1)
唯一可能有用的情况是字符串变量是否为null引用。但是,与零字符连接完全没有意义。由于我们只是在字符串连接执行空检查之后,更好的版本将与空字符串连接,因为它不会因负值而中断:
Convert.ToInt32(String.Empty + stringValue)
更好的解决方案,因为它不进行字符串连接:
Convert.ToInt32(stringValue ?? String.Empty)
更好的解决方案是先检查空值,这样就不必解析已知的字符串了:
stringValue == null ? 0 : Convert.ToInt32(stringValue)