Why is GetHashCode() returning a different value for the same string? I can't describe how to duplicate this, but trust that this is not a practical joke and that the two following lines came from my watch window at two separate times:
"DDD.Events.Application.ApplicationReferenceCreated".GetHashCode() -1386151123 int
"DDD.Events.Application.ApplicationReferenceCreated".GetHashCode() 1858139950 int
How could this happen?
I don't know if this helps, but I am running on .NET 4.0 in VS 2010 and I am debugging an NServiceBus application.
Update:
If you want to know what I ended up doing for this look at this thread: Can you generate an x86 hash value when running in x64 mode?
According to documentation:
Thus, some other effect must be in play for the two calls to give different results. One theory is that you switched platforms between the calls, from x86 to x64 or vice versa.
Is it possible that you copied this string from somewhere?
I had the same problem. I copied the value ans somehow the BOM header is invisible on the first position.
Try checking the length and you see already a difference. Also you could check byte-by-byte.