Comment faire pour convertir une Liste<AnonymousType> Liste<string>

Je veux convertir un List<AnonymousType> à List<string>. J'ai le code suivant:

var lkpiTodisplay = _MGMTDashboardDB.KPIs.Where(m => m.Compulsory == true && m.Active == true)
                                         .Select(m => new
                                         {
                                             KPI_Name = m.Absolute == true ? m.KPI_Name : (m.KPI_Name + "%")
                                         }).ToList();

for(int i=1; i<= BusinessTargetCol; i++)
{
   lkpiTodisplay.Add(new
   {
      KPI_Name = "Business Target"
   });
}

Ce code crée un List<AnonymousType>. Alors je voudrais assigner cette Liste à une variable List<string>, comme illustré dans le code suivant:

DashboardViewModel lYTMDashboard = new DashboardViewModel()
{
      KPIList = (List<string>) lkpiTodisplay,
      //other assignments
};

Le casting ne fonctionne pas. Comment puis-je convertir la variable? D'autres solutions que de modifier le premier extrait de code sont les bienvenus, tant que le KPIList variable est conservé comme un List<string>.

Grâce

Francesco

  • N'utilisez jamais de == true, c'est un gaspillage.
  • Ne regarde pas comme vous avez besoin pour créer la classe anonyme en premier lieu, afin de ne pas.
  • argument intéressant. C'est une perte en terme de performance?
  • Un léger (deux opérations CPU, quelques nanosecondes peut-être), mais il est tout simplement votre fichier de code plus grandes (et moins lisible, parfois, parce qu'il peut faire des barres de défilement apparaissent).
InformationsquelleAutor CiccioMiami | 2011-04-19