仅验证int,此代码的正确代码是什么?

时间:2017-01-31 14:51:33

标签: c#

 // if user input is negative
 if (h < 0)
 {
     // assign absolute version of user input
     number = Math.Abs(n);
     pictureBox14.Visible = true;
}
else
{
    // else assign user input
        number = n;
    number = 0; // if user input is not an int then set number to 0  
    pictureBox6.Visible = true;
}

仅用于验证int的正确代码是什么?该整数是我想在文本框中输入的唯一整数,然后将出现图片框。

4 个答案:

答案 0 :(得分:0)

使用int.TryParse方法

int value= 0;

        if (int.TryParse(n, out value))
        {
            if (value< 0)
                number = Math.Abs(value);
            else
                number = value;
        }

答案 1 :(得分:0)

不需要复杂的if语句。你可以这样做。

int number = 0;
bool isValid = int.TryParse(userInputString, out number);
number = Math.Abs(number);

if (isValid)
{
    pictureBox14.Visible = true;
}

答案 2 :(得分:0)

首先要解析用户输入,然后验证范围:

int ExampleFunc( string userInput )
{
    int nVal;
    if( int.TryParse( userInput, out nVal ) )
    {
        return Math.Abs( nVal );
    }
    else return 0;
}

答案 3 :(得分:0)

没有理由检查数字是否为负数,只需使用绝对值。如果从文本输入传递给它的字符串无法正确转换,Convert将返回0值,因此此代码只在一行中处理您的问题。如果您希望根据int值显示图片框,请在转换后对其进行测试。

int number = Math.Abs(Convert.ToInt32(textInput));
相关问题