Microsoft MVP성태의 닷넷 이야기
.NET Framework: 37. String.GetHashCode의 리턴값. 그때그때 다릅니다. [링크 복사], [링크+제목 복사],
조회: 15638
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

String.GetHashCode의 리턴값. ^^; 한마디로, 그때그때 다릅니다.

언제냐면, .NET Framework의 버전 또는 32bit/64bit라는 것으로 그 값이 서로 틀리게 나옵니다.

간단히 다음과 같은 테스트를 해보면.

int hashCode = "test is good".GetHashCode();
MessageBox.Show( hashCode.ToString() );

결과는 아래에서 보는 것처럼, 환경에 따라서 전혀 틀린 값이 나오게 되지요.

32bit .NET Framework 1.1: 653125770
32bit .NET Framework 2.0 beta: 1802354553
64bit .NET Framework 2.0 beta: -1164955385

만약, GetHashCode로 어떤 기준값을 저장해서 사용한 프로그램이 있다면, .NET 2.0을 적용시에 주의를 하셔야 합니다.

음... 어떻게 알았냐고요?
제 홈페이지 서버측 ASPX에서 그걸로 기준으로 쓰는 것이 있었거든요. ^^;

------------------------------------------

2022-03-24: .NET 5에서 아래의 코드를 테스트해보면,

string str = "Hello World";

int hash1 = str.GetHashCode();
int hash2 = str.GetHashCode();

Console.WriteLine(hash1);
Console.WriteLine(hash2);

심지어 EXE를 새롭게 실행할 때마다 값이 바뀝니다. ^^








[최초 등록일: ]
[최종 수정일: 3/24/2022]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 181  182  183  184  [185]  186  187  188  189  190  191  192  193  194  195  ...
NoWriterDateCnt.TitleFile(s)
333정성태8/20/200624016개발 환경 구성: 11. COM+ 서버 활성화 보안 설정
331정성태8/27/200616976개발 환경 구성: 10. 최대 절전 모드와 VPC 네트워크 문제
330정성태8/20/200617261개발 환경 구성: 9. VPC로 구성하는 개인 환경
328정성태8/20/200634990개발 환경 구성: 8. AppVerifier 사용법 [1]
327정성태8/16/200631781개발 환경 구성: 7. ActiveX 서명 과정 자동화 [1]
326정성태8/16/200625514Team Foundation Server: 13. Sysnet 웹 사이트 TFS Migration
322정성태8/15/200620439개발 환경 구성: 6. 4GB 메모리 구성 [1]
316정성태9/20/200639513디버깅 기술: 6. .NET 예외 처리 정리 [6]
309정성태12/27/200640422디버깅 기술: 5. PDB 이야기 [7]
310정성태8/5/200627502    답변글 디버깅 기술: 5.1. PDB 파일에 따른 Debug 정보 - WinForm + Library 유형의 프로젝트파일 다운로드1
311정성태8/10/200626960    답변글 디버깅 기술: 5.2. PDB 파일에 따른 Debug 정보 - .NET 2.0 Web Application Project + Library 유형의 프로젝트
312정성태8/5/200629689    답변글 디버깅 기술: 5.3. PDB 파일에 따른 Debug 정보 - .NET 2.0 Web Site Model 유형의 프로젝트
313정성태8/12/200628803    답변글 디버깅 기술: 5.4. VS.NET 2005 디버그 모드에서의 PDB 파일 사용 차이 (1)
317정성태8/12/200626312    답변글 디버깅 기술: 5.5. VS.NET 2005 디버그 모드에서의 PDB 파일 사용 차이 (2)
318정성태8/12/200632735    답변글 디버깅 기술: 5.6. VS.NET 2005를 이용한 미니덤프 파일 분석 (1)
319정성태8/12/200627745    답변글 디버깅 기술: 5.7. VS.NET 2005를 이용한 미니덤프 파일 분석 (2) [1]
320정성태8/12/200631882    답변글 디버깅 기술: 5.8. WinDBG를 이용한 미니덤프 파일 분석 [1]
321정성태8/13/200636286    답변글 디버깅 기술: 5.9. Microsoft의 PDB 파일 관리
323정성태8/15/200637709    답변글 디버깅 기술: 5.10. Symbol Server 생성 [4]
324정성태8/15/200634547    답변글 디버깅 기술: 5.11. PDB 파일과 소스 코드
325정성태9/8/200627234    답변글 디버깅 기술: 5.12. CCP를 이용한 Windows Source Code 수준의 디버깅
329정성태8/19/200626226    답변글 디버깅 기술: 5.13. 소스 서버 구성 [1]
332정성태8/20/200627703    답변글 디버깅 기술: 5.14. GAC 에 등록된 Assembly 디버그 [2]
341정성태9/16/200620054    답변글 디버깅 기술: 5.15. [내용 예약]
342정성태9/16/200637613    답변글 디버깅 기술: 5.16. ASP.NET 디버깅 환경 구성 [1]파일 다운로드1
306정성태2/13/200717132기타: 15. .NET 이 생산성이 높다는 증거(!)
... 181  182  183  184  [185]  186  187  188  189  190  191  192  193  194  195  ...