gpt4 book ai didi

c# - 将 Dictionary> 转换为 ReadOnlyDictionary>

转载 作者:太空狗 更新时间:2023-10-29 21:16:47 25 4
gpt4 key购买 nike

我有一个字典如下:

public enum Role { Role1, Role2, Role3, }
public enum Action { Action1, Action2, Action3, }

var dictionary = new Dictionary<Role, List<Action>>();

dictionary.Add(RoleType.Role1, new Action [] { Action.Action1, Action.Action2 }.ToList());

现在我希望能够构造一个值类型也是只读的只读字典,如下所示:

var readOnlyDictionary = new ReadOnlyDictionary<Role, ReadOnlyCollection<Action>>(dictionary);

由于 TValue 中的差异,最后一行显然会导致编译时错误类型。

使用 List<TValue>也是必要的,因为原始字典是从外部源以编程方式填充的。

是否有一种简单的方法来执行此转换?

最佳答案

将字典转换为 ReadOnlyDictionary 就像将常规字典作为参数传递给 ReadOnlyDictionary 的构造函数一样简单:

var myDict = new Dictionary<K, V>();

var myReadOnlyDict = new ReadOnlyDictionary<K, V>(myDictionary);

关于c# - 将 Dictionary<TKey, List<TValue>> 转换为 ReadOnlyDictionary<TKey, ReadOnlyCollection<TValue>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35734143/

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