I have an object that has a multi-part key and I am struggling to find a suitable way override GetHashCode. An example of what the class looks like is.
public class wibble{
public int keypart1 {get; set;}
public int keypart2 {get; set;}
public int keypart3 {get; set;}
public int keypart4 {get; set;}
public int keypart5 {get; set;}
public int keypart6 {get; set;}
public int keypart7 {get; set;}
public single value {get; set;}
}
Note in just about every instance of the class no more than 2 or 3 of the keyparts would have a value greater than 0.
Any ideas on how best to generate a unique hashcode in this situation?
I have also been playing around with creating a key that is not unique, but spreads the objects evenly between the dictionaries buckets and then storing objects with matched hashes in a List<> or LinkedList<> or SortedList<>.
Any thoughts on this?