Max
, Min
In C# programs we call Max
(and Min
) from System.Linq
to get the largest or smallest element. Each element is iterated in the search.
These methods can also be used with lambda expressions. Higher-order functions can make programs shorter (but sometimes slower and harder to read).
Max
To begin, we must include System.Linq
for this program to compile. Max()
is an extension method (found in the Linq namespace).
Max
method is called upon this array. Max
returns 1 because 1 is the largest value in the program's array.Max
with a lambda expression. The value 2 is returned—the absolute value of -2 is 2, and 2 is the maximum.using System; using System.Linq; // Step 1: create array. int[] array1 = { 1, -1, -2, 0 }; // Step 2: use simple Max to find maximum number. Console.WriteLine(array1.Max()); // Step 3: find maximum number when all numbers are made positive. Console.WriteLine(array1.Max(element => Math.Abs(element)));1 2
Min
We want to find the minimum value in a collection (such as an array or List
) in a simple way. With Min()
we find the minimum element or the minimum value after a transformation.
Min()
method determines that -1 is the smallest integer.Min()
provides a clear way to find the smallest value in a collection.using System; using System.Linq; int[] array1 = { 1, -1, 2, 0 }; // Part 1: find minimum number. Console.WriteLine(array1.Min()); // Part 2: find minimum number when all numbers are made negative. Console.WriteLine(array1.Min(element => -element));-1 -2
Math.Max
The Math class
contains some math methods like Max
and Min
that also find the lower or higher number. But these are simpler and only test 2 numbers.
The Max
function can find either the maximum value in a collection, or the maximum value after a specific transformation is applied. Min
returns the minimum value.
These methods are perhaps most useful with a lambda expression: this makes the computation adjustable. Other forms of delegates (not just lambdas) can be used.