# ValueType.GetHashCode Method

## Definition

``````public:
override int GetHashCode();``````
``public override int GetHashCode ();``
``override this.GetHashCode : unit -> int``
``Public Overrides Function GetHashCode () As Integer``

#### Returns

Int32

32 位元帶正負號整數，為此執行個體的雜湊碼。A 32-bit signed integer that is the hash code for this instance.

## Examples

``````public ref struct Complex
{
public:
double m_Re;
double m_Im;
virtual bool Equals( Object^ ob ) override
{
if ( dynamic_cast<Complex^>(ob) )
{
Complex^ c = dynamic_cast<Complex^>(ob);
return m_Re == c->m_Re && m_Im == c->m_Im;
}
else
{
return false;
}
}

virtual int GetHashCode() override
{
return m_Re.GetHashCode() ^ m_Im.GetHashCode();
}
};
``````
``````public struct Complex
{
public double m_Re;
public double m_Im;

public override bool Equals( object ob ){
if( ob is Complex ) {
Complex c = (Complex) ob;
return m_Re==c.m_Re && m_Im==c.m_Im;
}
else {
return false;
}
}

public override int GetHashCode(){
return m_Re.GetHashCode() ^ m_Im.GetHashCode();
}
}
``````
``````Public Structure Complex
Private m_Re As Double
Private m_Im As Double

Public Overloads Function Equals(ob As Object) As Boolean
If TypeOf ob Is Complex Then
Dim c As Complex = CType(ob, Complex)
Return m_Re = c.m_Re And m_Im = c.m_Im
Else
Return False
End If
End Function

Public Overloads Function GetHashCode() As Integer
Return m_Re.GetHashCode() ^ m_Im.GetHashCode()
End Function

End Structure
``````

## Remarks

GetHashCode 方法適用于衍生自 ValueType的類型。The GetHashCode method applies to types derived from ValueType. 衍生類型的一或多個欄位用來計算傳回值。One or more fields of the derived type is used to calculate the return value. 如果您呼叫衍生類型的 `GetHashCode` 方法，則傳回值不太可能適合當做雜湊表中的索引鍵使用。If you call the derived type's `GetHashCode` method, the return value is not likely to be suitable for use as a key in a hash table. 此外，如果其中一個或多個欄位的值變更，則傳回值可能會不適合當做雜湊表中的索引鍵使用。Additionally, if the value of one or more of those fields changes, the return value might become unsuitable for use as a key in a hash table. 不論是哪一種情況，請考慮撰寫您自己的 GetHashCode 方法，以更密切地表示該類型的雜湊碼概念。In either case, consider writing your own implementation of the GetHashCode method that more closely represents the concept of a hash code for the type.