Mar 11, 2016 05:24 AM|Candice Zhou|LINK
hash = hash * 16777619 ^ field1.GetHashCode();
As David Anton said, The '^' symbol in C# is the exclusive or operator - the equivalent in VB is 'XOr':
hash = hash * 16777619 Xor field1.GetHashCode()
2) What does And &H7FFFFFFFL do? I don't understand this.
If you calculate hash as Long, but then return it as Integer with Return CInt(hash And &H7FFFFFFFL). This way could avoid the overflow.