我正在通过转换我之前在Visual Basic中编写的简单Windows窗体应用程序来学习C#(在Visual Studio Express 2013 for Windows Desktop中)。
以下代码向返回布尔值的方法发送文本框条目和两个整数,但只要文本框不包含整数,就会在运行时抛出异常(例如155可以,但155.67 isn&# 39; t)的
if (!(rangeOK(int.Parse(cmTextBox.Text), 50, 250))) return false;
我已经尝试过使用TryParse来解决这个问题,但是尽管尝试了很多在线提示(以及其他人在这里提出的问题),我还是无法理解我应该怎么做。
如果它有助于原始VB代码:
If Not (rangeOK(Val(cmTextBox.Text), 50, 250)) Then Return False
非常感谢
罗布
答案 0 :(得分:3)
这是您使用TryParse
的方式:
int result; // does not need to be initialized
if (int.TryParse(cmTextBox.Text, out result))
{
if (!(rangeOK(result, 50, 250)))
return false;
// todo
} else
{
// process error
}
此处提供更多信息:
http://msdn.microsoft.com/en-us/library/f02979c7%28v=vs.110%29.aspx
祝你好运!<强>更新强>
如果您想使用非整数,您可以使用double.TryParse
coure执行相同操作。更多信息:
http://msdn.microsoft.com/en-us/library/994c0zb1%28v=vs.110%29.aspx