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

本文关键字:运算符 条件 三元 检查 | 更新日期: 2023-09-27 18:25:51

我有三个变量

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

现在我想做的是,我想使用三元运算符并分配
(a,b,c)中最大的变为"d"。提前感谢

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

您可以使用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版本更短,在我看来可读性更强