我正在寻找使用多个嵌套的三元运算符。我有3个值要比较。所有3个都是整数。例如:
val1
val2
threshold
从这一切,我想要一个
1
或0
的结果。因此,如果要使用
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/