【发布时间】:2016-04-25 08:51:31
【问题描述】:
在 c# 中,将大约 100 个条目的字典转换为列表的最快方法是什么?我目前正在使用
myDictionary.Values.ToList();
但是当我查看 Values 属性的源代码时,它似乎创建了字典的副本,这似乎很慢。我不需要副本,有没有最快的方法?
[__DynamicallyInvokable]
public Dictionary<TKey, TValue>.ValueCollection Values
{
[__DynamicallyInvokable] get
{
if (this.values == null)
this.values = new Dictionary<TKey, TValue>.ValueCollection(this);
return this.values;
}
}
【问题讨论】:
-
如果您只有 100 个项目,那么性能真的是个问题吗?
-
与其猜测它“看起来很慢”,您是否执行了任何基准测试来比较实际性能与您的要求?
-
你如何使用你想要获取的列表?也许不同的类型最适合您,例如
IEnumerable<V>或ICollection<V>。
标签: c# performance list dictionary