相关疑难解决方法(0)

帮助C#.NET泛型集合的性能和优化

我正在尝试优化一块看起来像这样的.NET 2.0 C#代码:

Dictionary<myType, string> myDictionary = new Dictionary<myType, string>();
// some other stuff
// inside a loop check if key is there and if not add element
if(!myDictionary.ContainsKey(currentKey))
{
   myDictionary.Add(currentKey, "");
}
Run Code Online (Sandbox Code Playgroud)

看起来像编写这段代码的人已经使用了字典,即使不需要(只有密钥用于存储唯一值列表),因为比搜索的myType对象列表更快.这似乎显然是错误的,因为只有字典的关键,但我试图了解什么是解决它的最佳方法.

问题:

1)我似乎明白,即使只使用.NET 3.5 HashSet,我也会获得良好的性能提升.它是否正确?

2)在.NET 2.0中优化上述代码的最佳方法是什么?为什么?

编辑:这是我试图优化的现有代码,它循环遍历数十万个项目,并且每个项目都调用一个ContainsKey.有一个更好的方法(即使在.NET 2.0中)!:)

.net c# generics performance dictionary

2
推荐指数
1
解决办法
3559
查看次数

标签 统计

.net ×1

c# ×1

dictionary ×1

generics ×1

performance ×1