C#正确解析文本框中的整数
C# parsing integer from text box correctly
我正在通过转换我以前用 Visual Basic 编写的简单 Windows 表单应用程序来学习 C#(在 Visual Studio Express 2013 for Windows Desktop 中)。
以下代码将一个文本框条目和两个整数发送到一个 returns 布尔值的方法,但只要文本框不包含整数(例如 155 就可以,但 155.67 不是)。
if (!(rangeOK(int.Parse(cmTextBox.Text), 50, 250))) return false;
我已经尝试使用 TryParse 来解决这个问题,但是尽管尝试了很多在线提示(以及此处其他人的问题),我还是无法理解我应该如何去做。
如果对原始 VB 代码有帮助:
If Not (rangeOK(Val(cmTextBox.Text), 50, 250)) Then Return False
非常感谢
罗布
你是这样使用的 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
执行相同的操作。更多信息在这里:
http://msdn.microsoft.com/en-us/library/994c0zb1%28v=vs.110%29.aspx
我正在通过转换我以前用 Visual Basic 编写的简单 Windows 表单应用程序来学习 C#(在 Visual Studio Express 2013 for Windows Desktop 中)。
以下代码将一个文本框条目和两个整数发送到一个 returns 布尔值的方法,但只要文本框不包含整数(例如 155 就可以,但 155.67 不是)。
if (!(rangeOK(int.Parse(cmTextBox.Text), 50, 250))) return false;
我已经尝试使用 TryParse 来解决这个问题,但是尽管尝试了很多在线提示(以及此处其他人的问题),我还是无法理解我应该如何去做。
如果对原始 VB 代码有帮助:
If Not (rangeOK(Val(cmTextBox.Text), 50, 250)) Then Return False
非常感谢
罗布
你是这样使用的 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
执行相同的操作。更多信息在这里:
http://msdn.microsoft.com/en-us/library/994c0zb1%28v=vs.110%29.aspx