嗨我想停止执行if-loop,我已经尝试过' return'语句但它从函数中退出,那么如何从单个if语句中退出。我已尝试使用以下代码...
这里我想停止执行if(CheckHorizontalSide(SourceMember))并停止此操作我想转向if(CheckTop(SourceMember))
void A()
{
if (CheckHorizontalSide(SourceMember))
{
if (lblHorizontalMember.Text == DestinationMember)
{
lsRelationPath.Add(lblHorizontalMember.Text);
lblRelationPath.Text = String.Join("-", lsRelationPath);
lblRelationPath.Visible = true;
return;
}
bool WhetherContains = lsRelationPath.Contains(SourceMember);
if (WhetherContains)
{
return;
}
//This below code is not related to the above 'WhetherContains '
lsMemberID1.Clear();
lsRelationPath.Add(lblHorizontalMember.Text);
Find_Route(lblHorizontalMember.Text, DestinationMember);
}
if(CheckTop(SourceMember))
{
//code here....
}
}
答案 0 :(得分:1)
您将块的其余部分放在包含{ }
的子块中,并将else
放在其前面。
您可以根据需要进行深度嵌套,但是您可以尝试将块分解为辅助函数以降低复杂性并为语句命名。
if (WhetherContains)
{
// this is actually empty
}
else
{
lsMemberID1.Clear();
lsRelationPath.Add(lblHorizontalMember.Text);
}
或者,
if (!WhetherContains)
{
lsMemberID1.Clear();
lsRelationPath.Add(lblHorizontalMember.Text);
}