Я хочу использовать диапазон дат (от одной даты до другой даты) в качестве ключа для словаря, поэтому я написал свою собственную структуру:
struct DateRange
{
public DateTime Start;
public DateTime End;
public DateRange(DateTime start, DateTime end)
{
Start = start.Date;
End = end.Date;
}
public override int GetHashCode()
{
// ???
}
}
Какой лучший способ реализовать GetHashCode, чтобы два объекта различного диапазона не генерировали один и тот же хеш? Я хочу, чтобы хеш-столкновения были как можно более вероятными, хотя я понимаю, что Dictionary < > все равно проверит оператор равенства, который я также буду реализовывать, но не хотел слишком сильно загрязнять код примера. Спасибо!