一旦在c#中满足一个IF条件,就停止执行方法

本文关键字:条件 方法 执行 IF 满足 一个 | 更新日期: 2023-09-27 18:29:10

我得到了几个if语句。我想要的是,只要满足一个条件,我就应该放弃这种方法。我将使用这个if语句来过滤数据网格视图或报表的数据。使用下面的代码,它不会执行此操作。它似乎经历了所有的条件。一旦找到满足条件的条件,程序就会执行它,并转到另一个if语句,如果它发现它也满足条件,它也会被执行。我认为这对你来说是非常基本的。我不记得也不知道该怎么做。

private void btnRoute_Click(object sender, EventArgs e)
    {
        if (cbWithRoute.Checked)
        {
            // StartSearch(txtRoute.SelectedValue.ToString());
            MessageBox.Show(@"route");
        }
        if (cbWithRoute.Checked && cbWithWholeSeller.Checked)
        {
            //StartSearch(txtRoute.SelectedValue.ToString(), txtWholeSeller.SelectedValue.ToString());
            MessageBox.Show(@"route wholeseller");
        }
        if (cbWithRoute.Checked && cbWithCustomer.Checked)
        {
            MessageBox.Show(@"route customer");
        } 
        if (cbWithRoute.Checked && cbWithWholeSeller.Checked && cbWithDate.Checked)
        {
            //StartSearch(txtRoute.SelectedValue.ToString(),
            //    txtWholeSeller.SelectedValue.ToString(), Convert.ToDateTime(txtFromDate.Text).ToShortDateString(),
            //    Convert.ToDateTime(txtToDate.Text).ToShortDateString());
            MessageBox.Show(@"route wholseller date");
        }
        if (cbWithRoute.Checked && cbWithCustomer.Checked && cbWithDate.Checked)
        {
            MessageBox.Show(@"route date customer");
        }
        if (cbWithRoute.Checked && cbWithWholeSeller.Checked && cbWithDate.Checked && cbWithCustomer.Checked)
        {
            //StartSearch(txtRoute.SelectedValue.ToString(),
            //    txtWholeSeller.SelectedValue.ToString(), Convert.ToDateTime(txtFromDate.Text).ToShortDateString(),
            //    Convert.ToDateTime(txtToDate.Text).ToShortDateString(), txtCustomer.SelectedValue.ToString());
            MessageBox.Show(@"route wholeseller date customer");
        }
        //else
        //{
        //    MessageBox.Show(@"Check criteria to search.");
        //}
    }

我对真实的代码进行了注释,并将其替换为消息框,以显示选中了哪些复选框。非常感谢。

一旦在c#中满足一个IF条件,就停止执行方法

如果您希望它停止执行,请放置以下行

return;

我不想理解检查背后的业务逻辑,但您可能还想阅读else语句和else if

由于您的方法retrun类型为void,因此在所有if条件的末尾添加一个return,如下所示;

if (cbWithRoute.Checked)
{
    // StartSearch(txtRoute.SelectedValue.ToString());
    MessageBox.Show(@"route");
    return;
}
if (cbWithRoute.Checked && cbWithWholeSeller.Checked)
{
    //StartSearch(txtRoute.SelectedValue.ToString(), txtWholeSeller.SelectedValue.ToString());
    MessageBox.Show(@"route wholeseller");
    return;
}

等等…

Else if是您需要的概念。如下图所示。

if (cbWithRoute.Checked)
    {
        // StartSearch(txtRoute.SelectedValue.ToString());
        MessageBox.Show(@"route");
    }
    else if (cbWithRoute.Checked && cbWithWholeSeller.Checked)
    {
        //StartSearch(txtRoute.SelectedValue.ToString(), txtWholeSeller.SelectedValue.ToString());
        MessageBox.Show(@"route wholeseller");
    }