如何在C#中忽略emptytextboxes

时间:2017-03-03 15:51:23

标签: c# casting

只是学习C#所以也许这是一个简单的修复,但我已经尝试了很多不同的方法,但结果却相同。

我有8个文本框,用户应该输入一个数字,然后在按下结果按钮后,这些文本框将与一些数字相乘,然后加在一起。

但是,如果我将一个文本框留空,则会导致日期时间错误。

我怎么能解决这个问题?

在下面的代码中,m只使用了2个文本框,但会有更多

感谢

小代码:

public void Multiply() {

    int heroT1Might = 100;
    int inputT120;
    int inputT150;

    int chest20 = 20;
    int chest50 = 50;
    int chest100 = 100;
    int chest200 = 200;
    int chest300 = 300;
    int chest500 = 500;
    int chest1K = 1000;
    int chest10K = 10000;

    inputT120 = int.TryParse(textBox20.Text);
    inputT150 = int.TryParse(textBox50.Text);
    long result = (inputT120 * chest20 * heroT1Might) + (inputT150 * chest50 * heroT1Might);

    resultLabel.Text = result.ToString();

}

2 个答案:

答案 0 :(得分:1)

您需要检查body { position: absolute; } empty,例如以下代码段:

strings

答案 1 :(得分:0)

        int heroT1Might = 100;
        int chest20 = 20;
        int chest50 = 50;

        if (string.IsNullOrWhiteSpace(textBox20.Text) || string.IsNullOrWhiteSpace(textBox50.Text))
        {
            // At least one is empty
            return;
        }

        if(!int.TryParse(textBox20.Text) || !int.TryParse(textBox50.Text))
        {
            // At least one is not an integer
            return;
        }

        var inputT120 = Convert.ToInt32(textBox20.Text);
        var inputT150 = Convert.ToInt32(textBox50.Text);
        long result = (inputT120 * chest20 * heroT1Might) + (inputT150 * chest50 * heroT1Might);

        resultLabel.Text = result.ToString();

或者你可以这样或那样做:

        int heroT1Might = 100;
        int chest20 = 20;
        int chest50 = 50;

        var inputT120 = int.TryParse(textBox20.Text) ? Convert.ToInt32(textBox20.Text) : 0;
        var inputT150 = int.TryParse(textBox20.Text) ? Convert.ToInt32(textBox50.Text) : 0;
        resultLabel.Text = ((inputT120 * chest20 * heroT1Might) + (inputT150 * chest50 * heroT1Might)).ToString();