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.GetHashCode Method

Returns the hash code for this instance.

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

public override int GetHashCode ()
public int GetHashCode ()
public override function GetHashCode () : int
Not applicable.

Return Value

A 32-bit signed integer hash code.

The following code example uses the GetHashCode method to return the hash codes of several Decimal values.

// Example of the decimal.GetHashCode method. 
using System;

class DecimalGetHashCodeDemo
{
    // Display the decimal.GetHashCode argument and the result array.
    public static void ShowDecimalGetHashCode( decimal Argument )
    {
        int hashCode = Argument.GetHashCode( );

        Console.WriteLine( "{0,31}{1,14}  0x{1:X8}", 
            Argument, hashCode );
    }

    public static void Main( )
    {
        Console.WriteLine( "This example of the " +
            "decimal.GetHashCode( ) method generates \nthe " +
            "following output. It displays the hash code of the \n" +
            "decimal argument in decimal and hexadecimal.\n" );
        Console.WriteLine( "{0,31}{1,14}", "Argument", "Hash Code" );
        Console.WriteLine( "{0,31}{1,14}", "--------", "---------" );

        // Generate hash codes for decimal objects.
        ShowDecimalGetHashCode( 0M );
        ShowDecimalGetHashCode( 1M );
        ShowDecimalGetHashCode( 1.0000000000000000000000000000M );
        ShowDecimalGetHashCode( 100000000000000M );
        ShowDecimalGetHashCode( 100000000000000.00000000000000M );
        ShowDecimalGetHashCode( 10000000000000000000000000000M );
        ShowDecimalGetHashCode( 10000000000000000000000009999M );
        ShowDecimalGetHashCode( 10000000000000000004294967295M );
        ShowDecimalGetHashCode( 123456789M );
        ShowDecimalGetHashCode( 0.123456789M );
        ShowDecimalGetHashCode( 0.000000000123456789M );
        ShowDecimalGetHashCode( 0.000000000000000000123456789M );
        ShowDecimalGetHashCode( 4294967295M );
        ShowDecimalGetHashCode( 18446744073709551615M );
        ShowDecimalGetHashCode( decimal.MaxValue );
        ShowDecimalGetHashCode( decimal.MinValue );
        ShowDecimalGetHashCode( -7.9228162514264337593543950335M );
    }
}

/*
This example of the decimal.GetHashCode( ) method generates
the following output. It displays the hash code of the
decimal argument in decimal and hexadecimal.

                       Argument     Hash Code
                       --------     ---------
                              0             0  0x00000000
                              1    1072693248  0x3FF00000
 1.0000000000000000000000000000    1072693248  0x3FF00000
                100000000000000    1548139716  0x5C46BCC4
 100000000000000.00000000000000    1548139716  0x5C46BCC4
  10000000000000000000000000000    1793013094  0x6ADF3566
  10000000000000000000000009999    1793013094  0x6ADF3566
  10000000000000000004294967295    1793013094  0x6ADF3566
                      123456789     362639156  0x159D6F34
                    0.123456789     143063426  0x0886F982
           0.000000000123456789    -667156908  0xD83BFE54
  0.000000000000000000123456789    -261016360  0xF07134D8
                     4294967295   -1106247681  0xBE0FFFFF
           18446744073709551615    1139802112  0x43F00000
  79228162514264337593543950335    1173356544  0x45F00000
 -79228162514264337593543950335    -974127104  0xC5F00000
-7.9228162514264337593543950335    2119160044  0x7E4FD0EC
*/

// Example of the decimal.GetHashCode method. 
import System.*;

class DecimalGetHashCodeDemo
{
    // Display the decimal.GetHashCode argument and the result array.
    public static void ShowDecimalGetHashCode(System.Decimal argument)
    {
        int hashCode = argument.GetHashCode();
        Console.WriteLine("{0,31}{1,14}  0x{2}", argument, ((Int32)hashCode),
            ((Int32)hashCode).ToString("X8"));
    } //ShowDecimalGetHashCode

    public static void main(String[] args)
    {
        Console.WriteLine("This example of the " 
            + "decimal.GetHashCode() method generates \nthe " 
            + "following output. It displays the hash code of the \n" 
            + "decimal argument in decimal and hexadecimal.\n");
        Console.WriteLine("{0,31}{1,14}", "argument", "Hash Code");
        Console.WriteLine("{0,31}{1,14}", "--------", "---------");

        // Generate hash codes for decimal objects.
        ShowDecimalGetHashCode(System.Convert.ToDecimal(0));
        ShowDecimalGetHashCode(System.Convert.ToDecimal(1));
        ShowDecimalGetHashCode(System.Convert.ToDecimal(
            1.0000000000000000000000000000));
        ShowDecimalGetHashCode(System.Convert.ToDecimal(100000000000000D));
        ShowDecimalGetHashCode(System.Convert.ToDecimal(
            100000000000000.00000000000000));
        ShowDecimalGetHashCode(System.Convert.ToDecimal(
            10000000000000000000000000000D));
        ShowDecimalGetHashCode(System.Convert.ToDecimal(
            10000000000000000000000009999D));
        ShowDecimalGetHashCode(System.Convert.ToDecimal(
            10000000000000000004294967295D));
        ShowDecimalGetHashCode(System.Convert.ToDecimal(123456789));
        ShowDecimalGetHashCode(System.Convert.ToDecimal(0.123456789));
        ShowDecimalGetHashCode(System.Convert.ToDecimal(0.000000000123456789));
        ShowDecimalGetHashCode(System.Convert.ToDecimal(
            0.000000000000000000123456789));
        ShowDecimalGetHashCode(System.Convert.ToDecimal(4294967295D));
        ShowDecimalGetHashCode(System.Convert.ToDecimal(
            18446744073709551615D));
        ShowDecimalGetHashCode(System.Decimal.MaxValue);
        ShowDecimalGetHashCode(System.Decimal.MinValue);
        ShowDecimalGetHashCode(System.Convert.ToDecimal(
            -7.9228162514264337593543950335));
    } //main
} //DecimalGetHashCodeDemo

/*
This example of the decimal.GetHashCode( ) method generates
the following output. It displays the hash code of the
decimal argument in decimal and hexadecimal.

                       argument     Hash Code
                       --------     ---------
                              0             0  0x00000000
                              1    1072693248  0x3FF00000
 1.0000000000000000000000000000    1072693248  0x3FF00000
                100000000000000    1548139716  0x5C46BCC4
 100000000000000.00000000000000    1548139716  0x5C46BCC4
  10000000000000000000000000000    1793013094  0x6ADF3566
  10000000000000000000000009999    1793013094  0x6ADF3566
  10000000000000000004294967295    1793013094  0x6ADF3566
                      123456789     362639156  0x159D6F34
                    0.123456789     143063426  0x0886F982
           0.000000000123456789    -667156908  0xD83BFE54
  0.000000000000000000123456789    -261016360  0xF07134D8
                     4294967295   -1106247681  0xBE0FFFFF
           18446744073709551615    1139802112  0x43F00000
  79228162514264337593543950335    1173356544  0x45F00000
 -79228162514264337593543950335    -974127104  0xC5F00000
-7.9228162514264337593543950335    2119160044  0x7E4FD0EC
*/

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

XNA Framework

Supported in: 1.0

Community Additions

Show:
© 2014 Microsoft