如何从if语句内部的布尔值中分离出if语句

本文关键字:if 语句 布尔值 分离出 内部 | 更新日期: 2023-09-27 18:23:58

我有这样的

bool a = true;
bool b = true;
bool plot = true;
if(plot)
{
    if(a)
    {
        if(b)
            b = false;
        else
            b = true;
    //do some meaningful stuff here
    }
//some more stuff here that needs to be executed
}

我想打破if语句,当b变为false时测试a。有点像循环中的中断和继续。有什么想法吗?编辑:很抱歉忘记包含big if语句。当b为假时,我想突破if(a),但不突破if(plot)。

如何从if语句内部的布尔值中分离出if语句

您可以将逻辑提取到单独的方法中。这将允许您拥有最多一个级别的if:

private void Foo()
{
   bool a = true;
   bool b = true;
   bool plot = true;
   if (!plot)
      return;
   if (a)
   {
      b = !b;
      //do something meaningful stuff here
   }
   //some more stuff here that needs to be executed   
}
if(plot)
{
    if(a)
    {
        b= !b;
        if( b )
        {
            //do something meaningful stuff here
        }
    }
    //some more stuff here that needs to be executed
}
bool a = true;
bool b = true;
bool plot = true;
if(plot && a)
{
  if (b)
    b = false
  else
    b = true;
  if (b)
  {
    //some more stuff here that needs to be executed
  }
}

这应该是你想要的。。