如何将INT与许多其他INT进行比较?

时间:2012-01-13 19:46:39

标签: c# compare int

那么,

int a = 20;
int b = 30;
int c = 40;
int d = 50;

if (a > b,c,d)

我怎么会接近这个,我不知道我每次都会失败,这是几个小时

5 个答案:

答案 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)) 。如果你有很多数字而你想要的只是更高的数字,你可以使用快速排序对列表进行排序,这种排序可能很有效并获得第一项。

如果你需要比较它们并得到不同的比较,那就有点不同了,那么最简单的方法就是循环遍历列表。