我是新手C#程序员,想了解使用Dictionary.Values
属性的内存和时间开销。我在这里找不到算法时间复杂度规范或内存复杂度有关的任何信息?我是看错了地方还是在C#规范中未定义?
P.S. 我来自C++背景。
我是新手C#程序员,想了解使用Dictionary.Values
属性的内存和时间开销。我在这里找不到算法时间复杂度规范或内存复杂度有关的任何信息?我是看错了地方还是在C#规范中未定义?
P.S. 我来自C++背景。
.Values
会被延迟实例化;之后,现有值将被分发。因此,当第一次使用时可能会分配一些内存,但它不包含值的快照副本,因此这不是昂贵的分配。它只包含对父词典实例的引用。private Dictionary<TKey, TValue> dictionary;
ValueCollection<TKey, TValue>
中实际上只有一个字段。它本质上是一个门面,为相同的数据提供了以值为中心的视图。