C#没有运行else语句错误或代码错误?

时间:2013-11-17 15:57:39

标签: c# if-statement

为了让我的问题更容易,我做了以下操作:当tryparse工作时,它显示为true。当tryparse为false时,程序挂起并且什么都不做。

        string sal;
        sal = tbSalary.Text;
        float salary;
        //DateTime date;
        bool result;

        result = float.TryParse(sal, out salary);
        MessageBox.Show(result.ToString());

2 个答案:

答案 0 :(得分:0)

条款

  

sal!= null

  

tbStartDate.Text!= null

可能会让你大吃一惊。

答案 1 :(得分:0)

让自己相信C#的基本功能。注释除解析代码和MessageBoxes之外的所有内容。您不需要空检查,或者需要额外的字符串变量进行工资检查:

    private void button1_Click(object sender, EventArgs e)
    {
        float salary;
        DateTime date;
        if (float.TryParse(tbSalary.Text, out salary))
        {
            if (DateTime.TryParse(tbStartDate.Text, out date))
            {
                // ... proper code to update your database but COMMENTED OUT ...
                MessageBox.Show("Changes Saved");
            }
            else
            {
                MessageBox.Show("Date must be MM/DD/YY form");
            }
        }
        else
        {
            MessageBox.Show("Salary must be a numeric value");
        }
    }

这样可行。如果程序仍然挂起,那么其他地方的代码会导致您没有向我们展示的问题。