不应该IDictionary <tkey,tvalue =“”>自然地扩展ISet <keyvaluepair <tkey,tvalue =“”>&gt;

时间:2015-09-21 17:06:43

标签: c# .net dictionary collections

不应该IDictionary<TKey, TValue>自然延伸ISet<KeyValuePair<Tkey, TValue>>,背后的理由是什么?这只是一个忽视吗?

我的第一个想法是它应该,因为枚举Dictionary<TKey, TValue>自然会阻止写操作。对我来说意味着实现应该已经与ISet<T>实现完全一致。另外,查看ICollection<KeyValuePair<TKey, TValue>>.ContainsDictionary<TKey, TValue>的{​​{1}}实现,它们似乎在功能上完全相同。

但我确实注意到Java HashSet<T>和c ++ Map<K,V>也没有扩展它们的对应集接口。

如果正确,那么考虑性能和内存使用情况,您将如何进行具体实施?

(不是试图解决任何具体问题,只是一个思考练习)

0 个答案:

没有答案