我正在寻找使用多个嵌套的三元运算符。我有3个值要比较。所有3个都是整数。例如:

val1
val2
threshold


从这一切,我想要一个10的结果。

因此,如果要使用if-else语句执行此操作,则我的逻辑将如下所示:

if (val1 - val2 > threshold)
{
    result = 1;
}
else if (val2 - val1 > threshold)
{
    result = 1;
}


到目前为止,我有这个:

int d = (alpha < 0 ? -alpha : alpha) > threshold ? (alpha < 0 ? -alpha : alpha) : 1;


尽管可以编译,但不会给我相同的结果...

最佳答案

result = (val1 - val2 > thresold) ? 1 : (val2-val1 > thresold) ? 1 : 0;


要么

result = (val1 - val2 > thresold) || (val2-val1 > thresold) ? 1 : 0;


要么

result = Math.Abs(val1 - val2) > thresold ? 1 : 0;

关于c# - 如何使用多个嵌套三元运算符返回值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25969366/

10-09 01:18