我知道..我知道..。性能不是这里的主要关注点,但出于好奇心,哪一个更好?
bool parsed = int.TryParse(string, out num);
if (parsed)
...
或
try {
int.Parse(string);
}
catch () {
do something...
}
发布于 2012-04-19 06:26:00
如果确实预料到转换有时会失败,我喜欢在conditional (Ternary) operator的一行中巧妙地使用int.TryParse
等,如下所示:
int myInt = int.TryParse(myString, out myInt) ? myInt : 0;
在这种情况下,如果TryParse方法失败,将使用0作为默认值。
对于可以为空的类型也非常有用,如果转换失败,它将用null
覆盖任何默认值。
发布于 2011-02-09 21:54:41
就我个人而言,我更喜欢:
if (int.TryParse(string, out num))
{
...
}
发布于 2011-02-09 21:55:05
第一个!您不应该通过异常来编写代码。
你可以把它缩短为
if (int.TryParse(string, out num))
https://stackoverflow.com/questions/4945763
复制相似问题