[英]Stop execution of a method as soon as one IF condition is met in c#
我有幾個if語句。 我想要的是,一旦滿足一個條件,我就應該擺脫這種方法。 我將使用if語句過濾datagridview或報表的數據。 在下面的代碼中,它不會執行此操作。 它似乎經歷了所有條件。 一旦找到滿足條件的程序,程序將執行該條件並繼續執行另一個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.");
//}
}
我注釋了真實的代碼,並用消息框替換了它,以向我顯示選中了哪些復選框。 謝謝。
因為你的方法retrun類型是void
加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;
}
等等....
在您希望它停止執行的任何地方,放置以下行
return;
我不會假設要了解檢查背后的業務邏輯,但是您可能還想閱讀else
語句, 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");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.