有人可以用c#代码帮我。我想计算新的 a 值 - 该值的计算方式为:a = a-2 * b,而不是查看结果是否小于零且是否它在(0,a)范围内。我通常只需要几步就可以做到这一点,但我在互联网上找到了一个看起来比我好得多的代码,代码解决问题的解释就像我的,但我不确定代码是否写在正确与否,因为它没有给我正确的结果。此外,代码中没有报告错误。
{{1}}
代码是否适合我需要的东西?
答案 0 :(得分:4)
您发布的代码可能是这样写的,也许这有助于澄清事情:
if (a - 2*b < 0)
{
a = 0;
}
else
{
//this assignment is not needed it is just here for clarification
a = a;
}
顺便提一下,紧凑型代码是多么重要,最重要的是为您和其他人阅读是多么容易。因此,如果你能更好地阅读else else语句,那么就使用它们。
哦,好2慢;)
答案 1 :(得分:3)
您的代码是:
int a;
if((a - 2 * b) < 0)
{
a = 0;
}
else
{
a = a;
}
哪个没有意义,因为你设置了a = a
。我想你想要的是:
a = (a - 2 * b) < 0 ? 0 : (a - 2 * b);
答案 2 :(得分:1)
a = a - 2 * b < 0 ? 0 : a;
这是:
的快捷方式if (a - 2 * b < 0) {
a = 0;
} else {
// a = a is a no-op.
}
似乎与您的解释不符。
我怀疑你想要:
var oldA = a;
a = a - 2*b;
if (a < 0) {
// do something
} else if (a < oldA) {
// do something else.
}
答案 3 :(得分:1)
您可能还想使用<div></div>
<div><br/></div>
声明:
div {
width: 100px;
height: 100px;
border: 2px solid red;
}
div:empty {
border: 2px solid blue;
}