Как я приведу этот тип в словарь? - PullRequest
0 голосов
/ 09 февраля 2012

У меня есть следующий код.Он использует класс, созданный для управления определенным типом файлов, который называется 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?)

Может кто-нибудь помочь мне правильно разыграть это?Спасибо.

Ответы [ 2 ]

4 голосов
/ 09 февраля 2012

Попробуйте использовать это

Dictionary<string, IPropertyListDictionary> maindict = (data["section0"].DictionaryItems).ToDictionary(x => x.Key, x => x.Value);
0 голосов
/ 09 февраля 2012

Вы не можете его преобразовать, но вы можете преобразовать его, написав собственный цикл или используя метод расширения ToDictionary () в Linq.

using System.Collections.Generic;
using System.Linq;

// ...
Dictionary<string, IPropertyListDictionary> mainDictionary = data["section0"].DictionaryItems.ToDictionary();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...