Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

Decimal.CompareTo Method (Object)

Compares this instance to a specified Object and returns an integer that indicates whether the value of this instance is greater than, less than, or equal to the value of the specified Object.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

[SecuritySafeCriticalAttribute]
public int CompareTo(
	Object value
)

Parameters

value
Type: System.Object
An Object or null.

Return Value

Type: System.Int32
A signed number indicating the relationship between this instance and value.

Return Value

Meaning

Less than zero

This instance is less than value.

Zero

This instance is equal to value.

Greater than zero

This instance is greater than value.

-or-

value is null.

Implements

IComparable.CompareTo(Object)

ExceptionCondition
ArgumentException

value is not a Decimal.

Any instance of Decimal, regardless of its value, is considered greater than null.

Parameter value must be null or an instance of Decimal; otherwise, an exception is thrown.

The following code example compares several Decimal and other objects to a reference Decimal value using the CompareTo method.


// Example of the decimal.CompareTo and decimal.Equals instance 
// methods.
using System;

class Example
{
   // Get the exception type name; remove the namespace prefix.
   public static string GetExceptionType(Exception ex)
   {
      string exceptionType = ex.GetType().ToString();
      return exceptionType.Substring(
          exceptionType.LastIndexOf('.') + 1);
   }

   // Compare the decimal to the object parameters, 
   // and display the object parameters with the results.
   public static void CompDecimalToObject(System.Windows.Controls.TextBlock outputBlock, decimal Left,
       object Right, string RightText)
   {

      outputBlock.Text += String.Format("{0,-46}{1}", "object: " + RightText,
          Right) + "\n";
      outputBlock.Text += String.Format("{0,-46}{1}", "Left.Equals( object )",
          Left.Equals(Right)) + "\n";
      outputBlock.Text += String.Format("{0,-46}", "Left.CompareTo( object )");

      try
      {
         // Catch the exception if CompareTo( ) throws one.
         outputBlock.Text += String.Format("{0}\n", Left.CompareTo(Right)) + "\n";
      }
      catch (Exception ex)
      {
         outputBlock.Text += String.Format("{0}\n", GetExceptionType(ex)) + "\n";
      }
   }

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      outputBlock.Text += String.Format(
          "This example of the decimal.Equals( object ) and \n" +
          "decimal.CompareTo( object ) methods generates the \n" +
          "following output. It creates several different " +
          "decimal \nvalues and compares them with the following " +
          "reference value.\n") + "\n";

      // Create a reference decimal value.
      decimal Left = new decimal(987.654);

      outputBlock.Text += String.Format("{0,-46}{1}\n",
          "Left: decimal( 987.654 )", Left) + "\n";

      // Create objects to compare with the reference.
      CompDecimalToObject(outputBlock, Left, new decimal(9.8765400E+2),
          "decimal( 9.8765400E+2 )");
      CompDecimalToObject(outputBlock, Left, 987.6541M, "987.6541D");
      CompDecimalToObject(outputBlock, Left, 987.6539M, "987.6539D");
      CompDecimalToObject(outputBlock, Left,
          new decimal(987654000, 0, 0, false, 6),
          "decimal( 987654000, 0, 0, false, 6 )");
      CompDecimalToObject(outputBlock, Left, 9.8765400E+2,
          "Double 9.8765400E+2");
      CompDecimalToObject(outputBlock, Left, "987.654", "String \"987.654\"");
   }
}

/*
This example of the decimal.Equals( object ) and
decimal.CompareTo( object ) methods generates the
following output. It creates several different decimal
values and compares them with the following reference value.

Left: decimal( 987.654 )                      987.654

object: decimal( 9.8765400E+2 )               987.654
Left.Equals( object )                         True
Left.CompareTo( object )                      0

object: 987.6541D                             987.6541
Left.Equals( object )                         False
Left.CompareTo( object )                      -1

object: 987.6539D                             987.6539
Left.Equals( object )                         False
Left.CompareTo( object )                      1

object: decimal( 987654000, 0, 0, false, 6 )  987.654000
Left.Equals( object )                         True
Left.CompareTo( object )                      0

object: Double 9.8765400E+2                   987.654
Left.Equals( object )                         False
Left.CompareTo( object )                      ArgumentException

object: String "987.654"                      987.654
Left.Equals( object )                         False
Left.CompareTo( object )                      ArgumentException
*/


Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions

Show:
© 2014 Microsoft