Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
GetHashCode Method

Decimal.GetHashCode Method

Returns the hash code for this instance.

[Visual Basic]
Overrides Public Function GetHashCode() As Integer
[C#]
public override int GetHashCode();
[C++]
public: int GetHashCode();
[JScript]
public override function GetHashCode() : int;

Return Value

A 32-bit signed integer hash code.

Example

[Visual Basic, C#, C++] The following code example uses the GetHashCode method to return the hash codes of several Decimal values.

[Visual Basic] 
' Example of the Decimal.GetHashCode method. 
Imports System
Imports Microsoft.VisualBasic

Module DecimalGetHashCodeDemo
    
    ' Display the Decimal.GetHashCode argument and the result array.
    Sub ShowDecimalGetHashCode( Argument As Decimal )

        Dim hashCode As Integer = Argument.GetHashCode( )

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

    Sub Main( )
        Console.WriteLine( "This example of the " & _
            "Decimal.GetHashCode( ) method generates " & vbCrLf & _
            "the following output. It displays the hash code of " & _
            "the " & vbCrLf & "Decimal argument in decimal and " & _
            "hexadecimal." & vbCrLf )
        Console.WriteLine( "{0,31}{1,14}", "Argument", "Hash Code" )
        Console.WriteLine( "{0,31}{1,14}", "--------", "---------" )

        ' Generate hash codes for Decimal objects.
        ShowDecimalGetHashCode( 0D )
        ShowDecimalGetHashCode( 1D )
        ShowDecimalGetHashCode( _
            Decimal.Parse( "1.0000000000000000000000000000" ) )
        ShowDecimalGetHashCode( 100000000000000D )
        ShowDecimalGetHashCode( _
            Decimal.Parse( "100000000000000.00000000000000" ) )
        ShowDecimalGetHashCode( 10000000000000000000000000000D )
        ShowDecimalGetHashCode( 10000000000000000000000009999D )
        ShowDecimalGetHashCode( 10000000000000000004294967295D )
        ShowDecimalGetHashCode( 123456789D ) 
        ShowDecimalGetHashCode( 0.123456789D ) 
        ShowDecimalGetHashCode( 0.000000000123456789D ) 
        ShowDecimalGetHashCode( 0.000000000000000000123456789D ) 
        ShowDecimalGetHashCode( 4294967295D ) 
        ShowDecimalGetHashCode( 18446744073709551615D ) 
        ShowDecimalGetHashCode( Decimal.MaxValue ) 
        ShowDecimalGetHashCode( Decimal.MinValue ) 
        ShowDecimalGetHashCode( -7.9228162514264337593543950335D ) 
    End Sub
End Module 

' 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

[C#] 
// 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
*/

[C++] 
// Example of the Decimal::GetHashCode method. 
#using <mscorlib.dll>
using namespace System;

// Display the Decimal::GetHashCode argument and the result array.
void ShowDecimalGetHashCode( Decimal Argument )
{
    int hashCode = Argument.GetHashCode( );

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

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

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

/*
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
*/

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework, Common Language Infrastructure (CLI) Standard

See Also

Decimal Structure | Decimal Members | System Namespace

Show:
© 2015 Microsoft