В настоящее время у меня возникают некоторые проблемы с получением некоторых данных из DataTable путем выбора всех строк, но только нескольких столбцов.
Чтобы быть немного более наглядным, приведу небольшой пример:
Пример данных
| ID | FirstName | LastName | Age |
+----+-----------+----------+-----+
| 1 | Alice | Wannabe | 22 |
| 2 | Bob | Consumer | 27 |
| 3 | Carol | Detector | 25 |
Что у меня есть
Так что мы получили из нашего графического интерфейса IEnumerable<DataColumn> selectedColumns
, и там мы найдем два элемента ( FirstName и LastName ).
Теперь мне нужен какой-то результат, который содержит все строки, но только два столбца выше (или любой другой список выбранных столбцов).
До сих пор я уже использовал LINQ для нескольких одномерных объектов, но этот двухмерный объект вызывает у меня небольшую головную боль.
// The hard-coded way
Table.AsEnumerable().Select(row => new { FirstName = row[1], LastName = row[2] });
// The flexible way
Table.AsEnumerable().Select(row => row ???)
Но как теперь я могу сказать, какие столбцы из строки следует выбирать с помощьюиспользуя мои selectedColumns?