我正在尝试将大量股票市场报价数据存储到一个变量中,以便在内存中进行查询。我需要能够快速找到股票 ID 的最新市场数据,并查询特定股票的特定历史长度。
例如,我可能每隔几秒就会收到关于股票 ID 5342(总是数字)的数据......我最初的想法是构建一个 SortedDictionary 的数组,SortedDictionary 键是报价的日期时间,它的值是我的自定义结构的市场数据。然后外部数组将是股票 ID...所以我可以调用:
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();
谢谢!