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).
Vous devez vous connecter pour publier un commentaire.
Vous pouvez sauter la Classe Anonyme si vous le pouvez et si vous n'avez pas besoin
ou
vous pouvez faire
pour obtenir
List<String>
Vous ne pouvez pas affecter une Liste<AnonymousType> Liste<String>, qui ne sont pas compatibles.
Utilisation
lkpiToDiplay.Select(i => i.ToString()).ToList()