如何使用多个嵌套的三元运算符返回一个值

And*_*son 1 c# comparison operators

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

val1
val2
threshold
Run Code Online (Sandbox Code Playgroud)

从这一切我想要1or的结果0

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

if (val1 - val2 > threshold)
{
    result = 1;
}
else if (val2 - val1 > threshold)
{
    result = 1;
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,我有这个:

int d = (alpha < 0 ? -alpha : alpha) > threshold ? (alpha < 0 ? -alpha : alpha) : 1;
Run Code Online (Sandbox Code Playgroud)

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

Sel*_*enç 5

result = (val1 - val2 > thresold) ? 1 : (val2-val1 > thresold) ? 1 : 0;
Run Code Online (Sandbox Code Playgroud)

或者

result = (val1 - val2 > thresold) || (val2-val1 > thresold) ? 1 : 0;
Run Code Online (Sandbox Code Playgroud)

或者

result = Math.Abs(val1 - val2) > thresold ? 1 : 0;
Run Code Online (Sandbox Code Playgroud)