【发布时间】:2012-10-21 09:20:32
【问题描述】:
我试图弄清楚为什么IDictioary<TKey, TValue>.Values 属性的类型是ICollection<TValue> 而不是IEnumerable<TValue>。 Values 属性的 .NET 实现显式实现了接口属性,然后将 Values 属性公开为 Dictionary<TKey, TValue>.ValueCollection 类型,当您尝试从中添加或删除值时会引发异常。
这似乎是一个完整的 hack。由于字典的性质,创建一个允许您获取字典中值的集合并从中添加/删除值的实现是否有意义?
【问题讨论】:
标签: c# dictionary ienumerable icollection