In VB.NET &H80000000 is of type Int32 and is a negative number. In C # 0x80000000 is of type UInt32 and is a positive number. The difference between languages ββis not in beaten OR, but in whole literals.
Most likely, the reason these types are different is because C # evolved from a language that supports unsigned types, and VB.NET evolved from a language that did not. In a language without unsigned types, the meaning &H80000000 was a negative integer.
source share