如果文本框有1位数或大于31的数字,程序将崩溃。我应该怎么做呢?
到目前为止,我有这段代码:
if (dd.Text.Length <= 1 || dd.Text > 31)
return;
显然,那是错的...... :(
答案 0 :(得分:6)
dd.Text > 31
上面的代码是将字符串与int进行比较。你应该试试:
int val = 0;
if (Int32.TryParse(dd.Text, out val))
{
if (val > 31) return;
}
答案 1 :(得分:3)
dd.Text > 31
这条线不起作用。尝试:
int.parse(dd.Text) > 31
如果输入非数字字符,它将不会运行,您可能需要先清理。
答案 2 :(得分:-1)
很明显,你没有想到你在做什么。
首先,您必须了解C#中可用的基本类型以及它们的含义。
现在您应该阅读有关String和Integer的内容。您将理解为什么该代码不起作用。
如果你想验证,文本框中的文本值是两个数字之间,首先它需要是数字。所以你需要施展它......
然后你可以对它进行操作并进行比较。
String myText = textBox.Text;
int myValue = -1;
if(Int32.tryPart(myText,myValue))
if(myValue > 31)
return;