gpt4 book ai didi

c# - `Dictionary.KeyCollection` 是否实现了 `IReadOnlyCollection`?

转载 作者:太空狗 更新时间:2023-10-29 21:08:32 24 4
gpt4 key购买 nike

这个问题看起来很简单。虽然documentation说是的:

public sealed class KeyCollection : ICollection<TKey>, 
IReadOnlyCollection<TKey>, IEnumerable<TKey>, ICollection, IEnumerable

以下代码报错:

class MyKeys<T>
{
readonly Dictionary<T, T> dict = new Dictionary<T, T> ();
public IReadOnlyCollection<T> Keys { get { return dict.Keys; } set; }
}

表示没有来自 KeyCollection<T> 的转换至 IReadOnlyCollection<T> .

此外polish documentation (就此而言也是法语)说它没有:

[SerializableAttribute]
public sealed class KeyCollection : ICollection<TKey>,
IEnumerable<TKey>, ICollection, IEnumerable

这是什么?

如果是英文文档中的错误,一个额外的问题:

有没有办法得到Keys作为只读集合?

最佳答案

Dictionary.KeyCollection 当前未实现 IReadOnlyCollection

但是,该接口(interface)已添加到下一版本的 .Net (v4.6) 中。您可以使用 VS 2015 预览版看到这一点。

您还可以在 this announcement 中看到(下载包含 v4.6 的所有更改的 excel 文件)

关于c# - `Dictionary<TKey, TValue>.KeyCollection` 是否实现了 `IReadOnlyCollection`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28218693/

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