我有一個字典如下:轉換字典<TKEY的,列表<TValue>>到ReadOnlyDictionary <TKEY的,ReadOnlyCollection <TValue>>
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>
也是必要的,因爲原始字典是從外部來源編程式填充的。
有沒有簡單的方法來執行此轉換?
你知道嗎,集合像列表也可以使用集合初始化器初始化? ; P –
@MatíasFidemraizer:是的。但是我需要在運行時構造只讀集合。 –
不,我建議這是因爲你從一個數組中創建一個列表... –