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

本文关键字:INT 比较 其他 许多 | 更新日期: 2023-09-27 18:20:11

好吧,

int a = 20;
int b = 30;
int c = 40;
int d = 50;
if (a > b,c,d)

我该如何处理这个问题,我不知道我在每一个转弯处都失败了,已经是几个小时了

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

如果有少量的数字,您可以简单地使用布尔逻辑:

if (a > b && a > c && a > d)
{
}

如果你事先不知道数字的数量,那么创建一个集合并通过循环将第一个数字与集合中的数字进行比较怎么样?

var numbers = { 30, 40, 50 };
if (!numbers.Any(c => 20 <= c))
{
}

您可以将它们放在一个数组中:

int a = 20;
int[] others = { 30, 40, 50 };
if(others.All(o => a > o))
{
    // do something
}

将它们全部放在一个列表中并执行以下操作:

if(list.All(x=> a > x))

或者在一行中:

if(new List<int>{a, b, c, d}.All(x=> a > x))

编辑我将Max()更改为All(x => a > x),因为当a == x时a>x不会返回true,而Max()会返回true。

非LINQ示例:

if (Math.Max(a, Math.Max(b, Math.Max(c, d))) == a)
{
}

如果你只想知道数字x是否大于其他数字,你可以像if(x>b & b>c)一样显式比较它们,也可以像上面提到的那样使用if(list.All(x=> a > x)) 。如果你有很多数字,而你想要的只是更高的数字,你可以使用快速排序对列表进行排序,这可能会很有效,并得到第一个项目。

这有点不同,如果你需要比较它们并获得不同的比较,那么最简单的事情可能是循环浏览列表。