gpt4 book ai didi

collections - 为什么 HashSet 不实现 IReadOnlyCollection

转载 作者:行者123 更新时间:2023-12-04 03:08:36 25 4
gpt4 key购买 nike

.NET 4.5 中新的只读接口(interface),例如 IReadOnlyCollection<T> IReadOnlyDictionary<TKey,TValue> 非常有用,特别是因为它们已在常见的 BCL 类型上实现,例如 Collection<T> , List<T>Dictionary<TKey,TValue> .

但是,HashSet<T>SortedSet<T>尚未升级实现 IReadOnlyCollection<T> ,我看不出这个决定背后的逻辑,因为这些类与接口(interface)匹配,没有任何修改或重大更改。它只是被 BCL 团队忽略了,还是我在这里遗漏了什么?

(这特别烦人,因为没有内置方法可以将集合包装在 IReadOnlyCollection<T> 中。确实,ReadOnlyCollection<T> 包装了 IList<T> 而不是 ICollection<T>。我知道编写自己的包装器是微不足道的。)

最佳答案

2015 年更新 :在 .NET 4.6 中已修复

Read-only interfaces are implemented on collection types HashSet, LinkedList, Queue, SortedDictionary, SortedList, SortedSet, and Stack. [944715]



https://dotnet2015.blob.core.windows.net/changes/dotnet46-changes.txt

关于collections - 为什么 HashSet<T> 不实现 IReadOnlyCollection<T>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14414330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com