C# Microsoft.Bcl.Immutable:基于IImmutableDictionary创建字典
我有代码,在那里我得到一个IDictionary,需要返回一个IImmutableDictionary。没问题,我只是运行扩展方法ToImmutableDictionary()C# Microsoft.Bcl.Immutable:基于IImmutableDictionary创建字典,c#,.net,immutability,C#,.net,Immutability,我有代码,在那里我得到一个IDictionary,需要返回一个IImmutableDictionary。没问题,我只是运行扩展方法ToImmutableDictionary() 在其他地方,我得到一个IImmutableDictionary,需要返回一个IDictionary。有更好的方法吗?使用imutable.ToDictionary(r=>r.Key,r=>r.Value)如: Dictionary<int,int> dictionary = new Dictionary<
在其他地方,我得到一个IImmutableDictionary,需要返回一个IDictionary。有更好的方法吗?使用
imutable.ToDictionary(r=>r.Key,r=>r.Value)
如:
Dictionary<int,int> dictionary = new Dictionary<int, int>();
IImmutableDictionary<int, int> imutable = dictionary.ToImmutableDictionary();
IDictionary<int, int> dictionary2 = imutable.ToDictionary(r=> r.Key, r=> r.Value);
Dictionary Dictionary=newdictionary();
IImmutableDictionary imutable=dictionary.ToImmutableDictionary();
IDictionary dictionary2=imutable.ToDictionary(r=>r.Key,r=>r.Value);
您的代码之所以有效,是因为您的“不可变”变量是一个不可变字典。将其声明为IImutableDictionary,它将不起作用:-S@RickyHelgesson,检查更新后的代码,你是对的,我错过了隐式var
用法。刚刚用示例值尝试了上面的代码,效果很好。啊,以前从未使用过这种技术。感谢您解决了我的问题,并向我展示了这个巧妙的技巧。:)