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