检查用户输入是否为字母

时间:2017-07-20 00:39:31

标签: c#

我通过TextBox接收了一些用户输入,然后将其转换为int,以便在我点击Calculate按钮时可以用于进一步的计算。

单击TextBox按钮时,我已检查Calculate是否为空,如果是,则会显示一个消息框。现在我意识到我需要检查以确保它是一个输入的数字,而不是一个字母。我正在寻找与此类似的东西

if(hoursInput.Text == "" || hoursInput.Text contains "a-z")
{
    \\ handle error
}
else
{
    \\ continue with code
}

编辑:

用户输入转换为else块中的int,但如果用户输入包含字母,我不希望函数达到从string转换为int的阶段,这就是我想要的原因检查用户输入是否包含if

中的任何字母

2 个答案:

答案 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
}