【发布时间】:2009-02-25 19:50:19
【问题描述】:
我的一位同事想到一个问题,检查查询字符串是否为 int 的最佳方法是什么。我建议使用经典的 Int.Parse 并尝试捕获,也建议使用 TryParse。其实我想不出别的办法。有什么想法吗?
【问题讨论】:
我的一位同事想到一个问题,检查查询字符串是否为 int 的最佳方法是什么。我建议使用经典的 Int.Parse 并尝试捕获,也建议使用 TryParse。其实我想不出别的办法。有什么想法吗?
【问题讨论】:
Int32.TryParse 将是您的最佳选择。
【讨论】:
TryParse 可能是您最好的选择,因为它允许字符串的不同格式,并通过布尔值告诉您它是否有效。
【讨论】:
我喜欢 Int32.TryParse。我想你可以使用正则表达式,但我不确定会有什么意义。
【讨论】:
可能不太有用,因为您可能想要实际的 int (尽管它可以扩展来做到这一点)。注意:我不会这样做,但它是他没有想到的另一种方式。
bool isNumeric = true;
foreach (char c in queryString) {
if (!char.IsDigit(c)) {
isNumeric = false;
break;
}
}
【讨论】:
我更喜欢 TryParse 方法。两者差不多,我相信 TryParse 在方法内部做了一个 try{}catch{},所以我怀疑在执行上会有很大的不同。
【讨论】: