Tôi có một lớp bất biến chỉ có trường là bool[]
(kích thước được xác định khi chạy).GetHashCode() từ booleans chỉ
Làm cách nào tôi có thể tính toán mã băm tốt của lớp này? Nói chung, tôi chỉ gọi GetHashCode()
trên mỗi trường và kết hợp chúng với một trong số các toán tử sau: + | &
, nhưng vì mã băm duy nhất có thể là 0
cho false
và 1
cho true
, điều đó thực sự không đưa tôi đến bất kỳ đâu. Việc triển khai của tôi chỉ cần làm việc với chỉ bools
và phải hoạt động với một mảng có kích thước tùy ý.
(Có lẽ không quan trọng nhiều, nhưng tôi mã hóa trong C#/NET..)
bạn đã xem 'BitArray' hay tùy thuộc vào kích thước 'BitVector32'? Điều đó sẽ yêu cầu thực hiện ít hơn như 'GetHashCode' và tương tự. – Sebastian