我有三个变量
int a =10;
int b=20;
int c=30;
int d=0;
现在我想做的事情我想使用三元运算符并指定
(a,b,c)中最大的“d”。提前致谢
答案 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)