luk*_*k32 7 .net c# dictionary
问题似乎很简单.虽然文档说它确实:
public sealed class KeyCollection : ICollection<TKey>,
IReadOnlyCollection<TKey>, IEnumerable<TKey>, ICollection, IEnumerable
Run Code Online (Sandbox Code Playgroud)
以下代码给出了错误:
class MyKeys<T>
{
readonly Dictionary<T, T> dict = new Dictionary<T, T> ();
public IReadOnlyCollection<T> Keys { get { return dict.Keys; } set; }
}
Run Code Online (Sandbox Code Playgroud)
说没有转换KeyCollection<T>为IReadOnlyCollection<T>.
此外,波兰语文档(法语也就此而言)说它没有:
[SerializableAttribute]
public sealed class KeyCollection : ICollection<TKey>,
IEnumerable<TKey>, ICollection, IEnumerable
Run Code Online (Sandbox Code Playgroud)
这是什么?
如果是英文文档中的错误,还有一个奖励问题:
有没有办法获得Keys只读集合?
在撰写此答案时,参考源不包含IReadOnlyCollection interfact实现:
public sealed class KeyCollection: ICollection<TKey>, ICollection
Run Code Online (Sandbox Code Playgroud)
从那时起,参考源已经更新,现在包括IReadOnlyCollection接口.
public sealed class KeyCollection: ICollection<TKey>, ICollection, IReadOnlyCollection<TKey>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
550 次 |
| 最近记录: |