Why GetHashCode() matters?

前端 未结 2 1007
深忆病人
深忆病人 2020-12-10 17:16

I am trying to understand what the object.GetHashCode() is used for. I read that it is used by collections to uniquely identify keys. But I wanted to test this

2条回答
  •  独厮守ぢ
    2020-12-10 18:03

    GetHashCode is only the first check, used to determine non-equality and possible equality. After that, Equals is checked. Which for objects defaults to reference-equality, and for structs is a memberwise compare. Override Equals to give an appropriate implementation (paired with the hash-code), and it should give the results you expect (duplicate key).

    btw, the IDE is probably already giving you a warning that GetHashCode and Equals should always be treated together...

提交回复
热议问题