代码之家  ›  专栏  ›  技术社区  ›  cmsjr

从字典中获取一系列键的有效方法

  •  4
  • cmsjr  · 技术社区  · 15 年前

    我有一个 Dictionary 对于大多数操作,我只需要按键检索单个条目,但对于少数操作,我需要处理与一系列键关联的条目。我想到的方法是使用 GetKeys FindAll

    3 回复  |  直到 15 年前
        1
  •  6
  •   Mehrdad Afshari    15 年前

    Dictionary 它作为哈希表实现,并不特别适合高效地对键执行范围选择操作。您必须访问所有键才能找到指定范围内的所有键。实现它的一个好方法是使用一个简单的LINQ表达式查询它的键集合。

        2
  •  3
  •   Community kfsone    7 年前

    A. SortedList SortedDictionary

    在数据库上使用二进制搜索 有序列表 将为您提供与范围底部匹配的键的索引,或最接近的较高值。看见 How to perform a binary search on IList<T>?

        3
  •  1
  •   Jimmeh    15 年前

    就像你说的,找到所有的都会有用。也许是这样;

    dictionary.FindAll(entry => multipleStrings.Contains(entry.Key));