C# 程序使用 WHERE 子句 LINQ 查找数组中的最大数字

介绍

在 C# 程序中,我们需要经常处理一些数据,比如查找数组中的最大数字。为了方便查找和操作数据,我们通常会使用 LINQ 查询语言,其中 WHERE 子句可以帮助我们筛选符合条件的数据。下面,我将向大家介绍如何使用 WHERE 子句及 LINQ 查找数组中的最大数字。

原理

在 C# 中,我们可以使用数组来存储一组数据,如下所示:

int[] numbers = new int[]{1, 2, 3, 4, 5};

如果我们想要查找这个数组中的最大数字,可以使用 LINQ 查询语句,如下所示:

int maxNumber = numbers.Max();

上述代码中,我们使用了 Max() 方法来查找数组中的最大数字,这个方法是 LINQ 中的一个扩展方法,在上面引用了 LINQ 命名空间,这里就不再赘述。

如果我们想要使用 WHERE 子句来筛选数组中符合条件的数据,可以使用以下代码:

int[] numbers = new int[]{1, 2, 3, 4, 5};

int maxOddNumber = numbers.Where(x => x % 2 != 0).Max();

上述代码中,我们使用了 Where() 方法来筛选出所有奇数,然后再使用 Max() 方法来查找其中的最大值。

实现

下面,我将为大家演示如何使用 WHERE 子句及 LINQ 查找数组中的最大数字。首先,我们需要创建一个控制台应用程序。

打开 Visual Studio,选择创建一个新的控制台应用程序,然后在程序中创建一个 int 类型的数组,随便加上一些数字。

int[] numbers = new int[]{12, 22, 35, 48, 51, 72, 81, 98};

然后,我们可以使用以下代码来查找数组中的最大数字:

int maxNumber = numbers.Max();

Console.WriteLine("数组中的最大数字为:" + maxNumber);

在运行程序时,会输出数组中的最大数字,如下所示:

数组中的最大数字为:98

如果我们想要使用 WHERE 子句来筛选出数组中的奇数,然后再查找其中的最大值,可以使用以下代码:

int maxOddNumber = numbers.Where(x => x % 2 != 0).Max();

Console.WriteLine("数组中的最大奇数为:" + maxOddNumber);

在运行程序时,会输出数组中的最大奇数,如下所示:

数组中的最大奇数为:81

其中,x => x % 2 != 0 是一个 Lambda 表达式,它会筛选出数组中所有的奇数。这段代码也可以写成以下形式:

int maxOddNumber = (from number in numbers

where number % 2 != 0

select number).Max();

这里使用了 LINQ 的查询表达式语法来实现 WHERE 子句的功能,两者的效果是一样的,具体使用哪种方式取决于你自己的编程习惯。

总结

通过本文的介绍,相信大家已经了解了使用 WHERE 子句及 LINQ 查找数组中的最大数字的方法。希望本文对大家学习 C# 编程有所帮助。

在编写程序时,我们需要灵活运用各种语言特性和技巧,来提高程序的效率和可读性。找到适合自己的编程风格和技能是非常重要的,这样才能在编程过程中充分发挥自己的优势,提高工作效率。

后端开发标签