那么,
int a = 20;
int b = 30;
int c = 40;
int d = 50;
if (a > b,c,d)
我怎么会接近这个,我不知道我每次都会失败,这是几个小时
答案 0 :(得分:7)
如果数字很少,您只需使用布尔逻辑:
if (a > b && a > c && a > d)
{
}
如果您事先不知道数字的数量,那么创建一个集合并将第一个数字与集合中的数字进行循环比较呢?
var numbers = { 30, 40, 50 };
if (!numbers.Any(c => 20 <= c))
{
}
答案 1 :(得分:5)
您可以将它们放在一个数组中:
int a = 20;
int[] others = { 30, 40, 50 };
if(others.All(o => a > o))
{
// do something
}
答案 2 :(得分:3)
将它们全部放入列表中并执行此操作:
if(list.All(x=> a > x))
或者在一行中:
if(new List<int>{a, b, c, d}.All(x=> a > x))
修改强>
我将Max()
更改为All(x => a > x)
,因为a&gt; <{1}}时x不会返回true,而Max()会这样做。
答案 3 :(得分:1)
非LINQ示例:
if (Math.Max(a, Math.Max(b, Math.Max(c, d))) == a)
{
}
答案 4 :(得分:1)
如果您只想知道数字x是否大于其他数字,您可以像if(x>b & b>c)
一样明确地比较它们,或者像上面提到的那样使用if(list.All(x=> a > x))
。如果你有很多数字而你想要的只是更高的数字,你可以使用快速排序对列表进行排序,这种排序可能很有效并获得第一项。
如果你需要比较它们并得到不同的比较,那就有点不同了,那么最简单的方法就是循环遍历列表。