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

如何有效地剪辑字典中的词条数量?

  •  2
  • Toad  · 技术社区  · 14 年前

    我有一个 List<myClass> myList 用于存储项目列表。

    当我必须剪辑这个(丢弃超过某个阈值的任何数量的项目)时,我使用:

     myList.RemoveRange(threshold, myList.Count - threshold);
    

    其中threshold是列表可以包含的最大数量

    现在我已经将数据类型升级为 Dictionary<key, myClass> myDictionary

    基本上我该怎么做:丢弃高于某个阈值的所有条目。(哪一个被丢弃无关紧要)

    我想我可以通过keys集合提前搜索并手动删除所有keys/value对。但我希望有一个更优雅的解决方案。

    1 回复  |  直到 14 年前
        1
  •  3
  •   Adam Robinson    14 年前

    此代码将调整 Dictionary 命名 dict 到指定的最大大小 maxSize .

    foreach (var obj in dict.Keys.Skip(maxSize).ToList()) dict.Remove(obj);