![](/img/trans.png)
[英]How can I cast a subset of a dictionary to a type derived from Dictionary<>
[英]How do I cast this type into a Dictionary?
我有以下代码。 它使用某人构建的类来管理称为plist的特定文件类型。 我试图把它吐出来的东西拿出来放在一本字典中。
Dictionary<string, IPropertyListDictionary> maindict = new Dictionary<string, IPropertyListDictionary>();
maindict = data["section0"].DictionaryItems;
问题是我在“DictionaryItems”下面出了一个红线,出现以下错误:
Cannot implicitly convert type
'System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string,CodeTitans.Core.Generics.IPropertyListItem>>'
to
'System.Collections.Generic.Dictionary<string,CodeTitans.Core.Generics.IPropertyListDictionary>'.
An explicit conversion exists (are you missing a cast?)
任何人都可以帮我正确地投这个吗? 谢谢。
试试这个
Dictionary<string, IPropertyListDictionary> maindict = (data["section0"].DictionaryItems).ToDictionary(x => x.Key, x => x.Value);
你不能强制转换它,但你可以通过编写自己的循环或在Linq中使用ToDictionary()扩展方法来转换它。
using System.Collections.Generic;
using System.Linq;
// ...
Dictionary<string, IPropertyListDictionary> mainDictionary = data["section0"].DictionaryItems.ToDictionary();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.