Int32.CompareTo Method in C# with Examples

04 Apr, 2019
Int32.CompareTo Method is used to compare the current instance to a specified object or Int32 and returns a sign of their relative values. There are 2 methods in the overload list of this method as follows:
CompareTo(Int32) Method
CompareTo(Object) Method
This method is used to compare the current instance to a specified 32-bit signed integer and returns a sign of their relative values.
Syntax:
public int CompareTo (int value);
Here, it takes integer to compare.
Return Value: It returns a 32-bit signed number indicating the relative values of current instance and value parameter as follows:
Less than Zero: if Current Instance < value
Zero: if Current Instance = value
Greater than Zero: if Current Instance > value
Below programs illustrate the use of the above-discussed method:
Example 1:
// C# program to demonstrate the// Int32.CompareTo(Int32) Methodusing System;  class GFG {      // Main Method    public static void Main()    {          // Declaring and initializing value1        int value1 = 10;          // Declaring and initializing value2        int value2 = 20;          // using CompareTo() method        int status = value1.CompareTo(value2);          // checking the status        if (status > 0)            Console.WriteLine("{0} is greater than {1}",                                        value1, value2);        else if (status < 0)            Console.WriteLine("{0} is less than {1}",                                     value1, value2);        else            Console.WriteLine("{0} is equal to {1}",                                    value1, value2);    }}
10 is less than 20

Example 2:
// C# program to demonstrate the// Int32.CompareTo(Int32) Methodusing System;  class GFG {      // Main Method    public static void Main()    {        // calling get() method        get(5, 7);        get(3025, 3025);        get(10, 20);        get(7, -12);    }      // defining get() method    public static void get(int value1,                           int value2)    {          // using the method        int status = value1.CompareTo(value2);          // checking the status        if (status > 0)            Console.WriteLine("{0} is greater than {1}",                                       value1, value2);        else if (status < 0)            Console.WriteLine("{0} is less than {1}",                                     value1, value2);        else            Console.WriteLine("{0} is equal to {1}",                                    value1, value2);    }}
5 is less than 7
3025 is equal to 3025
10 is less than 20
7 is greater than -12

This method is used to compare the current instance to a specified object and returns a sign of their relative values.
Syntax:
public int CompareTo (object value);
Here, it takes an object to compare, or null.
Return Value: It returns a 32-bit signed number indicating the relative values of current instance and value parameter as follows:
Less than Zero: if Current Instance < value
Zero: if Current Instance = value
Greater than Zero: if Current Instance > value or value is null.
Exception: It throws ArgumentException if value is not an Int32.
Below programs illustrate the use of the above-discussed method:
Example 1:
// C# program to demonstrate the// Int32.CompareTo(Object) Methodusing System;  class GFG {      // Main Method    public static void Main()    {        try {              // Declaring and initializing value1            int value1 = 10;              // Declaring and initializing value2            object value2 = 562587;              // using CompareTo() method            int status = value1.CompareTo(value2);              // checking the status            if (status > 0)                Console.WriteLine("{0} is greater than {1}",                                           value1, value2);              else if (status < 0)                Console.WriteLine("{0} is less than {1}",                                         value1, value2);            else                Console.WriteLine("{0} is equal to {1}",                                        value1, value2);        }          catch (ArgumentException e)         {            Console.WriteLine("value2 must be Int32");            Console.Write("Exception Thrown: ");            Console.Write("{0}", e.GetType(), e.Message);        }    }}
10 is less than 562587

Example 2: For ArgumentException
// C# program to demonstrate the// Int32.CompareTo(object) Methodusing System;using System.Globalization;  class GFG {      // Main Method    public static void Main()    {        try {              // Declaring and initializing value1            int value1 = 10;              // Declaring and initializing value2            object value2 = 9856745963;              // using CompareTo() method            int status = value1.CompareTo(value2);              // checking the status            if (status > 0)                Console.WriteLine("{0} is greater than {1}",                                            value1, value2);              else if (status < 0)                Console.WriteLine("{0} is less than {1}",                                         value1, value2);            else                Console.WriteLine("{0} is equal to {1}",                                        value1, value2);        }          catch (ArgumentException e)        {            Console.WriteLine("value2 must be Int32");            Console.Write("Exception Thrown: ");            Console.Write("{0}", e.GetType(), e.Message);        }    }}
value2 must be Int32
Exception Thrown: System.ArgumentException

Reference:
https://docs.microsoft.com/en-us/dotnet/api/system.int32.compareto?view=netframework-4.7.2
CSharp-Int32-Struct
CSharp-method
C#
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
C# | Multiple inheritance using interfaces
Differences Between .NET Core and .NET Framework
Extension Method in C#
C# | List Class
HashSet in C# with Examples
C# | .NET Framework (Basic Architecture and Component Stack)
Switch Statement in C#
Partial Classes in C#
Lambda Expressions in C#
Hello World in C#