检查查询字符串是否为整数的最佳方法是什么?

4

我的同事想知道,检查查询字符串是否为整数的最佳方法是什么。我建议使用经典的Int.Parse和try-catch,也有人建议使用TryParse。实际上,我想不出其他方法。你有什么想法吗?

5个回答

15

2

TryParse可能是您的最佳选择,因为它允许使用不同的字符串格式,并通过布尔值告诉您其是否有效。


1

我喜欢 Int32.TryParse。你可能可以使用正则表达式代替,不过我不确定有什么意义。


0

可能并不太有用,因为您可能想要实际的整数(尽管可以扩展到这样做)。注意:我不会这样做,但这是一种他没有想到的替代方法。

bool isNumeric = true;
foreach (char c in queryString) {
    if (!char.IsDigit(c)) {
       isNumeric = false;
       break;
    }
}

0

我更喜欢使用TryParse方法。两种方法几乎相等,我认为TryParse在方法内部执行try{}catch{},因此执行上没有太大区别。


1
不,TryParse绝对不会使用try{}catch{}。如果数据无效,它比自己调用Parse要快得多。 - Jon Skeet

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接