In C#, for reference types, the '==' operator compares the references to see if they reference the same object. The Equals() method compares the internal values to see if they have the same values. So in this case you can use the Equals() method
Hashcode does NOT compare equality!!!!!!
If two objects' Hashcodes have the same value then they MIGHT be the same but you still have to compare them.
If the two Hashcodes are different then they cannot be equal and there is no need to compare them further. That is the use for Hashcode - just reducing the number of compares that need to be performed.
I will also advise not to use the hash code as there is a risk of having the values not functioning correclty. From the MSDN website
The default implementation of the GetHashCode method does not guarantee unique return values for different objects. Furthermore, the .NET Framework does not guarantee the default implementation of the GetHashCode method, and the value it returns will be the same between different versions of the .NET Framework.
So just a heads up. I would probably go with Momerath's example. However do note (and it I understand it correctly), Equals() is only good for when you are comparing same objects