C# | Object.GetHashCode() Method with Examples

This method is used to return the hash code for this instance. A hash code is a numeric value which is used to insert and identify an object in a hash-based collection. The GetHashCode method provides this hash code for algorithms that need quick checks of object equality.

Syntax:

public virtual int GetHashCode ();

Return Value: This method returns a 32-bit signed integer hash code for the current object.



Below programs illustrate the use of Object.GetHashCode() Method:

Example 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to demonstrate
// Object.GetHashCode() Method
using System;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
  
        // declaring an object
        Object obj = new Object();
  
        // taking Type type and assigning
        // the value as type of above
        // defined types using GetType
        // method
        Type t = obj.GetType();
  
        // Display type and hash code
        Console.WriteLine("Type is :{0}", t);
        Console.WriteLine("Hash Code is :{0}",
                             t.GetHashCode());
    }
}

chevron_right


Output:

Type is :System.Object
Hash Code is :37162120

Example 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to demonstrate
// Object.GetHashCode() Method
using System;
  
public class Author {
  
    public string f_Name;
    public string l_Name;
  
    public Author(string f_Name, 
                  string l_Name)
    {
        this.f_Name = f_Name;
        this.l_Name = l_Name;
    }
  
    public void Show()
    {
        Console.WriteLine("first Name : "
                               + f_Name);
  
        Console.WriteLine("last Name : " 
                              + l_Name);
    }
}
  
// Driver Class
class GFG {
  
    // Main method
    public static void Main()
    {
  
        // Creating and initializing 
        // the object of Author class
        Author aobj = new Author("Kirti", "Mangal");
  
        Console.WriteLine("Author details:");
        aobj.Show();
  
        // Get the Hash Code of aobj object
        // Using GetHashCode() method
        Console.WriteLine("The hash code of object is: {0}",
                                        aobj.GetHashCode());
    }
}

chevron_right


Output:

Author details:
first Name : Kirti
last Name : Mangal
The hash code of object is: -751588944

Important Points:

  • Two objects that return equal hash code means objects are equal but the reverse is not true. Means, equal hash codes do not imply object equality, because different (unequal) objects can have identical hash codes.
  • The .NET Framework does not guarantee the default implementation of the GetHashCode method, and the value this method returns may differ between .NET Framework versions and platforms, such as 32-bit and 64-bit platforms.
  • A hash code is not a permanent value so do not serialize, store the hash values in databases etc.
  • Do not test for equality of hash codes to determine whether two objects are equal.

Reference: https://docs.microsoft.com/en-us/dotnet/api/system.object.gethashcode?view=netframework-4.7.2



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.