Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检查c中三元运算符中的多个条件#_C#_C# 3.0_C# 2.0 - Fatal编程技术网

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

C# 检查c中三元运算符中的多个条件#,c#,c#-3.0,c#-2.0,C#,C# 3.0,C# 2.0,我有三个变量 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 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;
或:

您可以这样做,因为您可以嵌套三元运算符,如图所示

真正的问题是你为什么要这么做。可读性会很差。Yuriy Guts版本的max函数更具可读性。

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

另一种方法:

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

在我看来,它比Math.Max版本短得多,可读性也强得多。昨天问了几乎相同的问题。家庭作业/学期论文?谷歌,但没有找到任何解决方案。那是家庭作业吗?然后贴上标签。
d = new[] { a, b, c }.Max();