我通过TextBox
接收了一些用户输入,然后将其转换为int,以便在我点击Calculate
按钮时可以用于进一步的计算。
单击TextBox
按钮时,我已检查Calculate
是否为空,如果是,则会显示一个消息框。现在我意识到我需要检查以确保它是一个输入的数字,而不是一个字母。我正在寻找与此类似的东西
if(hoursInput.Text == "" || hoursInput.Text contains "a-z")
{
\\ handle error
}
else
{
\\ continue with code
}
编辑:
用户输入转换为else
块中的int,但如果用户输入包含字母,我不希望函数达到从string转换为int的阶段,这就是我想要的原因检查用户输入是否包含if
块
答案 0 :(得分:1)
您真的不需要明确检查任何内容:
int aNumber;
if (!Int32.TryParse(hoursInput.Text, out aNumber)) {
// handle error
} else {
// handle `aNumber`
}
答案 1 :(得分:0)
如前所述,使用Int32.TryParse
将返回bool
,无论输入是否可以解析为Int32
。其中一个参数是out
,如果可以解析输入,它将成为Int32
。
请参阅: https://msdn.microsoft.com/en-us/library/f02979c7(v=vs.110).aspx
if(hoursInput.Text == "" || !Int32.TryParse(hoursInput.Text, out number))
{
\\ handle error
}
else
{
\\ continue with code
}