[英]Get Maximum value code from a datatable in c# throws InvalidCastException
[英]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.