В C # у меня есть некоторые статические данные, которые можно поместить в Dictionary<int, T>
, где T
- некоторый ссылочный тип.Веб-приложение должно только инициализировать его один раз, статически (оно не изменяется).
Поскольку мне не нужно беспокоиться о производительности вставки или удаления, какую структуру данных лучше всего использовать (или следуетЯ сам себе катаюсь)?Я, наверное, смотрю что-то вроде ~ 100 000 записей, довольно равномерно распределенных.
Я ищу оптимальный алгоритм для получения этих данных.Dictionary<>
неплохо, но я думаю, что там должно быть что-то оптимизированное для данных только для чтения.
Я подозреваю, но не подтвердил, что диапазон этих ключей может быть 0 - 400 000,Если бы это было так, как бы изменились рекомендации?(У меня есть мысль, что я опубликую в качестве возможного ответа).
Может быть, я мог бы:
- Один раз отсканировать данные и взять самый высокий ключ
- Выделите массив с размером старшего ключа + 1.
- Сделайте второй проход и сохраните данные в массиве.
Было бы это лучше или хуже, чемHashTable / словарь с разумным коэффициентом загрузки?