【问题标题】:Dictionary with no 'payload' value in .Net.Net 中没有“有效负载”值的字典
【发布时间】:2011-01-09 08:03:21
【问题描述】:

有时我需要检查一组值中的重复 ID,通常我为此使用字典 - 仅使用键并将值留空。

请注意,这是紧凑且高度优化的代码,因此请不要喊“过早优化”!假设 CPU 和 RAM 被挤压到极限的情况下,我想就更优化的解决方案收集意见;大概像 Lookup 类这样的东西会避免不必要的 RAM 分配,因此会稍微快一些。是否有第三方类或我在 BCL 中忽略的某些类?

我知道谷歌已经发布了快速和紧凑字典类的代码——也许其中有一些可以移植到 C#/.Net 的东西?

谢谢。

【问题讨论】:

    标签: .net performance optimization dictionary micro-optimization


    【解决方案1】:

    在 .NET 3.5 中使用 HashSet class

    HashSet<int> set = new HashSet<int>() { 1, 2, 3 };
    set.Add(5);
    for (int index = 0; index < 10; index++)
    {
        Console.WriteLine("{0} : {1}", index, set.Contains(index));
    }
    

    【讨论】:

    • 谢谢,我认为相当确凿的答案:)
    猜你喜欢
    • 2023-03-06
    • 2020-09-04
    • 2018-12-01
    • 2017-05-31
    • 2021-07-16
    • 1970-01-01
    • 2018-01-05
    • 1970-01-01
    • 2014-09-12
    相关资源
    最近更新 更多