【发布时间】:2015-08-28 02:20:57
【问题描述】:
我的程序要求用户在文本框中输入一个从 1 到 10 的数字。当我用户输入数字时,我将其转换为 int,通过使用:
if (!int.TryParse(inputBox.Text, out input))
我使用了!,因为如果不能将数字 TryParse'd 转换为 int,则会向用户抛出错误。
这有效,直到我输入一个以+ 开头的数字,例如+5 或+1。在int 前面有一个+ 并没有发现这一事实。如果我输入多个+,它会抛出一个应该的错误。
有人会如何编写检查此类输入的防错代码行?
【问题讨论】:
-
所以你是说字符串“+5”成功解析为int,对吧?
-
是的,但是它去掉了 +,我需要一些东西在它之前捕获它并向用户抛出一个错误
-
那是因为字符串“+5”成功解析为整数值5。你的问题是什么?
-
为什么? +5 成功解析。
-
是的,但这不在我希望用户输入的参数范围内。它以这种方式工作得非常好,但在这种情况下,我不希望它那样工作。我希望它抛出一个错误。
标签: c# integer error-checking