GetHashCode()가 같은 문자열에 대해 다른 값을 반환하는 이유는 무엇입니까? 나는이를 복제하는 방법에 대해 설명하지만, 이것은 장난이 아니라는 것을 신뢰하고 다음 두 줄은 두 개의 분리 된 시간에 내 시계 창에서 왔다고 할 수 없습니다 String.GetHashCode()가 다른 값을 반환합니다.
"DDD.Events.Application.ApplicationReferenceCreated".GetHashCode() -1386151123 int
"DDD.Events.Application.ApplicationReferenceCreated".GetHashCode() 1858139950 int
어떻게 이런 일이 있을까?
이 방법이 도움이되는지 잘 모르겠지만 VS 2010에서 .NET 4.0을 실행 중이고 NServiceBus 응용 프로그램을 디버깅 중입니다.
업데이트 :
당신은 내가이 스레드에서이 Look하고 결국 무엇을 알고 싶은 경우 : Can you generate an x86 hash value when running in x64 mode?
네 말이 맞아. 콘솔 프로그램을 만들고 Console.WriteLine ("DDD.Events.Application.ApplicationReferenceCreated".GetHashCode())를 호출하여 확인했습니다. 그런 다음 플랫폼을 변경하고 다시 실행합니다. 반환 된 값은 위에서 언급 한 값입니다. –
차가움. 여기에 새로운 것을 배웠습니다 :) –
유닛 테스트에서 해시 코드를 생성 한 다음 내 주요 애플리케이션에서이를 비교할 때 동일한 문제가 있음을 확인했습니다. –