c#:tryparse vs convert

Hem*_*yal 2 c# parsing

今天我读了一篇文章,其中写道我们应该总是使用TryParse(字符串,输出MMM)进行转换而不是Convert.ToMMM().

我同意文章,但之后我陷入了一个场景?

当字符串总是有一些有效值时,我们也可以使用Convert.ToMMM(),因为我们没有从Covert.ToMMM()中获得任何异常.

我想知道的是:当我们使用TryParse时是否有任何性能影响因为当我知道out参数总是有效时我们可以使用Convert.ToMMM()而不是TryParse(字符串,输出MMM)

你怎么看?

Mat*_*ley 9

如果您知道该值可以被隐蔽,请使用Parse().如果你"知道"它可以被转换,而且它不能被转换,那么抛出异常是一件好事.

编辑:注意,这与使用TryParseConvert不使用错误检查相比.如果您使用其他任何一种方法进行适当的错误检查,那么这一点就没有实际意义.我只是担心你的假设,你知道价值可以转换.如果您想跳过错误检查,请使用Parse并在发生故障时立即死亡,而不是继续并破坏数据.