Как конвертировать Список <AnonymousType>в Список <string> - PullRequest
6 голосов
/ 19 апреля 2011

Я хочу преобразовать List<AnonymousType> в List<string>.У меня есть следующий код:

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"
   });
}

Этот код создает List<AnonymousType>.Затем я хотел бы присвоить этот список переменной List<string>, как показано в следующем коде:

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

Приведение не работает.Как я могу преобразовать переменную?Другие решения, которые модифицируют первый фрагмент кода, приветствуются, если переменная KPIList сохраняется как List<string>.

Спасибо

Франческо

Ответы [ 2 ]

15 голосов
/ 19 апреля 2011

Вы можете пропустить анонимный класс, если можете, и если он вам не нужен

 lkpiTodisplay.Add("Business Target");

или

вы можете сделать

lkpiTodisplay.Select( x => x.KPI_Name).ToList();

, чтобы получитьList<String>

6 голосов
/ 19 апреля 2011

Вы не можете назначить Список на Список , эти типы несовместимы.
Используйте lkpiToDiplay.Select(i => i.ToString()).ToList()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...