检查c#中的三元运算符中的多个条件

时间:2012-02-25 12:56:42

标签: c# c#-3.0 c#-2.0

我有三个变量

int a =10;
int b=20;
int c=30;
int d=0;

现在我想做的事情我想使用三元运算符并指定
(a,b,c)中最大的“d”。提前致谢

4 个答案:

答案 0 :(得分:4)

您可以使用Math.Max来实现目标:

   int d = Math.Max(a, Math.Max(b, c))

当然,您也可以使用三元运算符,但它可能看起来有点难看:

   int d = (a > b ? a : b) > c ? (a > b ? a : b) : c;

或:

   int d = a > b ? (a > c ? a : c) : (b > c ? b : c);

答案 1 :(得分:1)

可以这样做,因为你可以嵌套三元运算符,如here所示。

真正的问题是为什么你想要这样做。可读性会很糟糕。具有最大功能的Yuriy Guts版本更具可读性。

答案 2 :(得分:1)

另一种方法:

d = new[] { a, b, c }.Max();

哪个更短,在我看来比Math.Max版本更具可读性

答案 3 :(得分:0)

d =(a> b)? ((a> c)?a:c):((b> c)?b:c)