相关疑难解决方法(0)

为什么HashSet <T>没有实现IReadOnlyCollection <T>?

我刚刚发现.NET Fx现在有3个有用的接口:

  1. IReadOnlyCollection<T>
  2. IReadOnlyList<T>
  3. IReadOnlyDictionary<K,V>

我有点困惑为什么HashSet<T>不实施IReadOnlyCollection<T>?有什么理由,或者微软再次忘记了套装?

UPD

经过两个小时的谷歌搜索后,我发现BCL中有很多集合,它们具有.Count属性但没有实现IReadOnlyCollection<T>接口.

UPD2

我发现这篇文章http://social.msdn.microsoft.com/Forums/en/netfxbcl/thread/b4fb991a-3f5c-4923-93d4-7cd5c004f859以及Immo Landwerth的答案他已经说过以下

除了List <>和Dictionary <>之外的其他集合是否会更新以支持这些接口?

绝对.实际上,我们所有的内置集合类型都已经实现了IReadOnlyList <>和IReadOnlyDictionary <>.这意味着,您可以直接将List,T []或Dictionary <>的实例传递给采用IReadOnly版本的API.

.net c# collections .net-4.5

15
推荐指数
1
解决办法
942
查看次数

标签 统计

.net ×1

.net-4.5 ×1

c# ×1

collections ×1