Чтобы провести отпуск, мне нужно загрузить праздничные дни из хранилища в течение года и для нескольких стран и их состояния.Словарь как значение для поиска
Чтобы получить хорошую производительность в логике, где мне нужно проверить, является ли дата праздником или нет, я пытаюсь преобразовать список в поиск, используя расширение .ToLookup со словарем в качестве значения.
Этот словарь будет иметь состояние как ключ и HashSet для этого состояния в качестве значения.
Я пытаюсь создать его с помощью Lookup, Dictionary и HashSet, чтобы я мог быстро добраться до информации о праздниках, фильтруя его с помощью страны и штата.
Ниже приведен код:
var CountryStateHolidayLookup = holidays.ToLookup(x => x.Country,
x => (
new Dictionary<int, HashSet<Holiday>>()
{ { x.State,
new HashSet<Holiday>()
{ new Holiday(
x.HolidayDate.Date, x.IsWeekend)
}
} }
)
);
на выходе выше коды я получаю Lookup с кодом страны, значение этого поиска приходит Перечислимый словарь с каждым праздником в качестве нового словаря.
, тогда как я ожидал словарь со всем пунктом как один HashSet
Я знаю, что я делаю что-то здесь не так, Какие изменения я должен сделать?