在.Net中没有'有效载荷'值的字典

时间:2010-01-25 23:15:13

标签: .net performance optimization dictionary micro-optimization

偶尔我需要在一组值中检查重复的ID,通常我会使用一个字典 - 仅使用键并将值留空。

请注意,这是严格且高度优化的代码,因此请不要“过早优化”!假设CPU和RAM被挤压到极限的情况,我想收集关于更优化解决方案的意见;大概类似于Lookup类会避免不必要的RAM分配,因此会稍快一些。是否有这样的课程要么是第三方,要么是我在BCL中忽略的一些课程?

据我所知google已经发布了快速和紧凑字典类的代码 - 也许那里有一些东西可以移植到C#/ .Net?

感谢。

1 个答案:

答案 0 :(得分:6)

使用.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));
}