# BigInteger.Min(BigInteger, BigInteger)BigInteger.Min(BigInteger, BigInteger)BigInteger.Min(BigInteger, BigInteger)BigInteger.Min(BigInteger, BigInteger) Method

## Definition

Returns the smaller of two BigInteger values.

``````public:
static System::Numerics::BigInteger Min(System::Numerics::BigInteger left, System::Numerics::BigInteger right);``````
``public static System.Numerics.BigInteger Min (System.Numerics.BigInteger left, System.Numerics.BigInteger right);``
``static member Min : System.Numerics.BigInteger * System.Numerics.BigInteger -> System.Numerics.BigInteger``
``Public Shared Function Min (left As BigInteger, right As BigInteger) As BigInteger``

#### Parameters

left
BigInteger BigInteger BigInteger BigInteger

The first value to compare.

right
BigInteger BigInteger BigInteger BigInteger

The second value to compare.

#### Returns

The `left` or `right` parameter, whichever is smaller.

## Examples

The following example uses the Min method to select the smallest number in an array of BigInteger values.

``````using System;
using System.Numerics;

public class Example
{
public static void Main()
{
BigInteger[] numbers = { Int64.MaxValue * BigInteger.MinusOne,
BigInteger.MinusOne,
10359321239000,
BigInteger.Pow(103988, 2),
BigInteger.Multiply(Int32.MaxValue, Int16.MaxValue),
BigInteger.Pow(Int32.MaxValue, 2)),
BigInteger.Zero };
if (numbers.Length < 2)
{
Console.WriteLine("Cannot determine which is the smaller of {0} numbers.",
numbers.Length);
return;
}

BigInteger smallest = numbers[numbers.GetLowerBound(0)];

for (int ctr = numbers.GetLowerBound(0) + 1; ctr <= numbers.GetUpperBound(0); ctr++)
smallest = BigInteger.Min(smallest, numbers[ctr]);

Console.WriteLine("The values:");
foreach (BigInteger number in numbers)
Console.WriteLine("{0,55:N0}", number);

Console.WriteLine("\nThe smallest number of the series is:");
Console.WriteLine("   {0:N0}", smallest);
}
}
// The example displays the following output:
//       The values:
//                                    -9,223,372,036,854,775,807
//                                                            -1
//                                            10,359,321,239,000
//                                                10,813,504,144
//                                            70,366,596,661,249
//            85,070,591,730,234,615,852,008,593,798,364,921,858
//                                                             0
//
//       The smallest number of the series is:
//          -9,223,372,036,854,775,807.
``````
``````Imports System.Numerics

Module Example
Public Sub Main()
Dim numbers() As BigInteger = { Int64.MaxValue * BigInteger.MinusOne,
BigInteger.MinusOne,
10359321239000,
BigInteger.Pow(103988, 2),
BigInteger.Multiply(Int32.MaxValue, Int16.MaxValue),
BigInteger.Pow(Int32.MaxValue, 2)),
BigInteger.Zero }
If numbers.Length < 2 Then
Console.WriteLine("Cannot determine which is the smaller of {0} numbers.",
numbers.Length)
Exit Sub
End If

Dim smallest As BigInteger = numbers(numbers.GetLowerBound(0))

For ctr As Integer = numbers.GetLowerBound(0) + 1 To numbers.GetUpperBound(0)
smallest = BigInteger.Min(smallest, numbers(ctr))
Next
Console.WriteLine("The values:")
For Each number As BigInteger In numbers
Console.WriteLine("{0,55:N0}", number)
Next
Console.WriteLine()
Console.WriteLine("The smallest number of the series is:")
Console.WriteLine("   {0:N0}", smallest)
End Sub
End Module
' The example displays the following output:
'       The values:
'                                    -9,223,372,036,854,775,807
'                                                            -1
'                                            10,359,321,239,000
'                                                10,813,504,144
'                                            70,366,596,661,249
'            85,070,591,730,234,615,852,008,593,798,364,921,858
'                                                             0
'
'       The smallest number of the series is:
'          -9,223,372,036,854,775,807.
``````

## Remarks

This method corresponds to the Math.Min method for primitive numeric types.