출력이 캐싱 될 메서드가 있습니다. 네 개의 매개 변수가 필요합니다. , , int
및 WindowsIdentity
이다. 이 4 개의 매개 변수를 기반으로 캐시 키를 만들어야합니다. 가장 좋은 방법은 다음과 같습니다.여러 키에서 캐시 키를 작성하는 방법은 무엇입니까?
문자열을 모두 하나로 연결하고 해당 키를 사용합니까? 함께
var key = string.Concat(string1, string2, int1.ToString(), identity.ToString());
또는
이 Xor 자신의 해시 코드?
var key = string1.GetHashCode()^string2.GetHashCode()^int1.GetHashCode()^identity.GetHashCode();
또는 다른 것? 그게 그렇게 중요한 건가? 내 특별한 경우에,이 키들은 Hashtable (C# v1)으로 갈 것입니다.
을 방지하기 위해 구분 기호를 추가해야합니다 : 당신의 첫번째 생각을 선호 +1 - 3x 기본 필드를 XOR하여 5 %의 충돌/실패율을 초래 한 경우가 발생했습니다. – STW