Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6474575
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T06:36:11+00:00 2026-05-25T06:36:11+00:00

What are the rules I should follow to ensure GetHashCode() method returns unique value

  • 0

What are the rules I should follow to ensure GetHashCode() method returns unique value for an object?

For example:

  • Should I include some prive members for the calculation?
  • Should I multiply instead of sum?
  • Can I be sure that I am generating a uniqe hash code for a particular object graph? etc.
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-25T06:36:12+00:00Added an answer on May 25, 2026 at 6:36 am

    You shouldn’t even aim for GetHashCode() returning a unique value for each object. That’s not the point of GetHashCode().

    Eric Lippert has a great post about hash codes which you should read thoroughly. Basically you want to end up with something which will always return the same value for two equal objects (and you need to work out what you mean by equal) and is likely to return different values for two non-equal objects.

    Personally I tend to use an implementation like this:

    public override int GetHashCode()
    {
        int hash = 17;
        hash = hash * 31 + field1.GetHashCode();
        hash = hash * 31 + field2.GetHashCode();
        hash = hash * 31 + field3.GetHashCode();
        ...
        return hash;
    }
    

    Things to watch out for:

    • If you have mutable objects, be careful! You shouldn’t mutate an object after using it as the key in a hash map.
    • If your fields can be null, you need to check for that while calculating your hash. For example:

      hash = hash * 31 + (field2 == null ? 0 : field2.GetHashCode());
      
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

The MSDN documentation on Object.GetHashCode() describes 3 contradicting rules for how the method should
Starting a new big C multiplatform project, what rules should one follow to avoid
I have to set some routing rules in my php application, and they should
I need to ensure that a input string follows these rules: It should contain
What rules should i follow in order map efficiently entities from my domain model
What rules or tips should I follow to enable a function to use NRV
There is a programming rule that says that a method should instead of asking
I find myself in conflict, regarding which code style I should follow when using
What are the best practices and rules-of-thumb to follow while maintaining code? Is it
while i know that xss rules should apply to iframed content if the domain,

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.