繁体   English   中英

在C#中执行代码之前如何获得最大值?

[英]How to get to the maximum value before executing code in C#?

我有此编程问题,我正在使用C#。 我想检查varA是否小于8,然后执行减小该值的代码,像这样

//intial
float varA = 0.0f;

if(varA <= 8.0f){

varA -= 2.0f;

}

这段代码可以正常工作,但是问题是,如果varA小于8,那么我希望它先将其增加到8,然后再开始减小。

例如,如果varA等于6,则应将其增加到8,然后开始减小。 希望你明白我的意思。 谢谢。

您需要一个标志来告诉您何时开始运行减法代码。

Boolean doIt = false;

// your outer loop
{
  if (varA ==8.0f) {
    doIt = true;
  }

  if ((doIt) && (varA <= 8.0f)) {
    varA -= 2.0f;
  }
}

当然,上面的主要问题是如果varA为9.0会发生什么。 在这种情况下,它不会减少,但这可能对您无关紧要。

您是正确的-您的问题有点令人困惑。 似乎您需要一个简单的if / else:

if(varA <= 8.0f) {
    varA -= 2.0f;
}
else {
    varA += 2.0f;
}

你的意思是...

if(varA <= 8.0f){
    // do stuff with varA being 8.0 eg
    myFunc(varA);
    varA -= 2.0f;
}

不确定我的问题是对的,

varA = varA >= 8.0 ? varA -= 2.0f : varA += 2.0f;

我假设您正在尝试无限循环地执行此操作。

bool localMaximumReached = false;    
        while (true)
        {
            if (varA < 8.0f)
            {
                if (!localMaximumReached)
                {
                    varA += 1.0f;
                    if (varA >= 8.0f)
                        localMaximumReached = true;
                }
                else
                    varA -= 2.0f;
            }
            else
                break;
         }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM