Я пытаюсь сохранить значительный объем данных котировок фондового рынка в переменной для запроса в памяти. Мне нужно иметь возможность быстро найти самые последние рыночные данные для идентификатора акции и запросить определенную длину истории для конкретной акции.
Например, я мог бы получать данные по биржевому идентификатору 5342 (всегда числовому) каждые несколько секунд ... Моя первоначальная мысль - создать массив SortedDictionary с ключом SortedDictionary, являющимся DateTime цитаты, и его значением, являющимся Моя пользовательская структура рыночных данных. Тогда внешний массив будет идентификаторами акций ... так что я могу позвонить:
RecentPrice = PriceData[StockID].Values.Last();
Или я мог бы перебирать SortedDictionary этой акции в обратном направлении, пока не нажму ключ, который старше требуемого временного диапазона.
Однако я чувствую, что должен быть лучший (более эффективный) метод. Есть идеи?
Редактировать: Вместо массива SortedDictionaries ... словарь SortedDictionaries может быть лучше.
Например:
public static Dictionary<int, SortedDictionary<DateTime, StockData>> PriceData =
new Dictionary<int, SortedDictionary<DateTime, StockData>>();
, то:
RecentPrice = PriceData[StockID].Values.Last();
Спасибо!