Như bạn đã biết, GetHashCode trả về một giá trị bán duy nhất có thể được sử dụng để xác định một cá thể đối tượng trong một bộ sưu tập. Để thực hành tốt, bạn nên ghi đè phương pháp này và thực hiện phương pháp của riêng mình.Ghi đè GetHashCode
Câu hỏi của tôi là - bạn có ghi đè phương thức này khi làm việc trên các đối tượng tùy chỉnh không? Nếu vậy, bạn sử dụng thuật toán nào để tạo ID duy nhất?
Tôi đã suy nghĩ về việc tạo GUID và sau đó nhận dữ liệu nguyên từ số nhận dạng đó.
Đọc [câu hỏi này] (http: // stackoverflow.com/questions/263400/what-is-the-best-algorithm-cho-an-an-ghi đè-hệ thống-đối tượng-gethashcode) và câu trả lời của nó. Nó phác thảo một triển khai mã băm tốt. Ngoài ra còn có một cuộc thảo luận tốt về việc kiểm soát 'GetHashCode' cho các đối tượng có thể thay đổi được tại đây (http://stackoverflow.com/questions/873654/overriding-gethashcode-for-mutable-objects-c). – adrianbanks
Tôi không biết "bán duy nhất" có nghĩa là ... giá trị là duy nhất hoặc không, và một mã băm không phải là duy nhất. Do đó nó không cho phép bạn xác định một đối tượng trong danh sách. Và đó không phải là "thực hành tốt" để ghi đè 'GetHashCode', đó là điều bạn làm khi bạn * cần * (ví dụ: sử dụng đối tượng làm khóa trong từ điển), không phải vì bạn nghĩ đó là một thực hành tốt. –
Sử dụng đối tượng làm khóa có thể được coi là xác định đối tượng trong bộ sưu tập - đó chính xác là lý do tôi tìm kiếm đầu vào về thuật toán tốt nhất để tạo mã định danh là gì. Từ các ID bán duy nhất: http://www.west-wind.com/Weblog/posts/4741.aspx –