2013-08-17 2 views
4

У меня есть IEnumerable<Entityclass> для лица с string и членом int. Мне нужно преобразовать его в массив KeyValuePair<string, double> и наоборот.Преобразование объекта в KeyValuePair

Он не работает с ошибкой приведения.

[DataContract] 
public class Entityclass 
{ 
    [DataMember] 
    public string text{ get; set; } 
    [DataMember] 
    public int textcount{ get; set; } 
} 

У меня есть IEnumerable<Entityclass>

  • Как конвертировать из IEnumerable<Entityclass> в массив KeyvaluePair<string, double>[]?

  • Как преобразовать массив KeyvaluePair<string, double>[] в массив KeyvaluePair<string, int>[]?

  • Как мне преобразовать KeyvaluePair<string, double> в IEnumerable?

Я попытался:

  • topics is IEnumerable<Entityclass>;
  • topics.Cast<KeyValuePair<string, double>>().ToArray(); с ошибкой литого
+0

вопрос название должно быть исправлено, его «преобразовать список или перечислимого в массив KeyValuePair» не было ни одного объекта –

ответ

18

Вы должны проекта каждую тему в KeyValuePair. Select метод расширения Linq делает это:

topics 
    .Select(x=> new KeyValuePair<string, double>(x.text, x.textcount)) 
    .ToArray(); 
Смежные вопросы