如何在执行C#中的代码之前获得最大值
本文关键字:最大值 代码 执行 | 更新日期: 2023-09-27 18:28:51
我有这个编程问题,我使用的是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;
}