检查c#中三元运算符中的多个条件
本文关键字:运算符 条件 三元 检查 | 更新日期: 2023-09-27 18:25:51
我有三个变量
int a =10;
int b=20;
int c=30;
int d=0;
现在我想做的是,我想使用三元运算符并分配
(a,b,c)中最大的变为"d"。提前感谢
您可以使用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);
您可以执行此操作,因为您可以嵌套三元运算符,如图所示。
真正的问题是你为什么要这样做。可读性会很差。Yuriy Guts的带有max函数的版本可读性更强。
d=(a>b)?((a>c)?a:c):((b>c)?b:c)
另一种方法:
d = new[] { a, b, c }.Max();
它比Math.Max版本更短,在我看来可读性更强