我有一个简单的“缓存”基础设施,如下所示:
Dictionary<string, object> cache = new Dictionary<string, object>();
(我在object
这里用作值类型,但实际上它是一种更具体的类型。)
这个想法是按名称将许多计算值(实际上是来自 SQL 数据库的结果)存储在 tis 字典中。我需要进行快速插入和检索,主要是针对单个元素。
现在使用它,我发现有时需要通过删除所有以特定字符串开头的条目来使某些条目无效。我天真的实现是这样的:
cache.Keys.Where(key => key.StartsWith(name)).ToList().ForEach(cache.Remove);
知道这可能不是最好的解决方案,我在 .NET Framework 中四处寻找可以让我更有效地执行此操作的数据结构。
有没有比这更适合的课程Dictionary<>
?