Vic*_*tor 13 c# c++ if-statement
我在C++中有这段代码:
ihi = y[0]>y[1] ? (inhi=1,0) : (inhi=0,1);
Run Code Online (Sandbox Code Playgroud)
但它在C#中看起来如何呢?
Mar*_*ers 14
这意味着:
if (y[0]>y[1])
{
inhi = 1;
ihi = 0;
} else {
inhi = 0;
ihi = 1;
}
Run Code Online (Sandbox Code Playgroud)
或者用另一种方式编写(用C++编写):
inhi = (y[0]>y[1]);
ini = !inhi;
Run Code Online (Sandbox Code Playgroud)
逗号运算符绑定低于赋值,因此表达式
inhi=1,0
Run Code Online (Sandbox Code Playgroud)
设置inhi为1,然后返回0.同样
inhi=0,1
Run Code Online (Sandbox Code Playgroud)
集inhi到0并返回1.这一切都相当于
if(y[0] > y[1]) {
inhi = 1;
ihi = 0;
} else {
inhi = 0;
ihi = 1;
}
Run Code Online (Sandbox Code Playgroud)
如果可以的话,我建议用这种方式重写它.inhi并且ihi似乎具有相同的目的(在此声明中),并且?:您已经获得的组合三元运算符()和逗号运算符赋予它们不同的权重.