string targetType = GetStageData(1).type;
Debug.Log(targetType + "," + targetType .GetHashCode());
string testType = "A";
Debug.Log(testType + "," + testType.GetHashCode());
์ด๋ฌ๋ฉด ๊ฐ๊ฐ ๊ฐ์ด ์ด๋ ๊ฒ ์ฐํ
A,-210331348
A,372029405
๋๊ฐ์ ๋ฌธ์์ด A์ธ๋ฐ ์ ํด์์ฝ๋๊ฐ ๋ค๋ฅธ๊ฑฐ์ผ?
string์ ๋ด์ฉ์ด ๊ฐ์ผ๋ฉด ๊ฐ์ ํด์์ฝ๋๋ฅผ ๊ฐ์ ธ์ผ ํ์์
์ ๋ณ์๋ก ๋ฆฌ์คํธ์์ ๊ฐ ์ฐพ์ผ๋ ค๋๋ฐ ๊ณ์ null ๋์์ ๋ญ๊ฐ ์ถ์์
๋๊ฐ์ด ์๊ฒจ๋ ์ ๋์ฝ๋๊ฐ ๋ค๋ฅด๋ค๊ฑฐ๋
๋ชจ๋ฅด๊ฒ ์ด.. ํด๊ฒฐํ๊ธฐ ๊ท์ฐฎ์์ ๊ทธ๋ฅ int๋ก ๋ฐ์ผ๋๊น ์ ์ ์๋ํจ. csv ํ์ฑํ๋๋ฐ ๋ฌธ์์ด์ด ๋ญ๊ฐ ์ด์ํ๊ฒ ๋๋๋ด
https://andrewlock.net/why-is-string-gethashcode-different-each-time-i-run-my-program-in-net-core/
๋ณตํธ๋ฐฉ์์ ๋ฐ๋ผ ํด์ฌ๊ฐ ์ฌ๋ฌ ๊ฐ์ฌ๋ ์๊ด ์์ ๊ฒ ๊ฐ์๋ฐ? A 39393939 A 12121212 ์ฌ๋ ๋ณตํธํ ๋ ์ธ์๋ง ํ๋ฉด 39393939๋ A๋ก, 12121212๋ A๋ก ๋ณตํธํ ์ ์์์.
GetHashCode()๋ ํด์๋ฅผ ๊ตฌํ๋ ํจ์๊ฐ ์๋๊ณ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ ๊ฐ์ฒด๋ฅผ ๋น๊ตํ๋๋ฐ ์ฐ์ด๋ ๋ ์์ด์ผ, ๊ทธ๋ฅ ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ์ฃผ์๋ผ๊ณ ๋ณด๋ฉด ๋ผ, ์๋ ์๋ก ๋ค๋ฅด๊ฒ ์ง ๋น์ฐํ? ํด์๋ int Hash(string str) ์ด๋ฐ๋ฅ์ ํจ์๊ฐ ๋ฐ๋ก์์ด
๋ต๋ณ๋ค ๊ฐ์ฌํจ๋ค ์์๊ฐ๋๋ค