Вход на сайт
Собрать список?
1052 просмотров
Перейти к просмотру всей ветки
Murr патриот
в ответ Murr 25.06.19 22:36
Вот подвсплыло еще немного LINQ...
Код:
List<DataColumn> duplicatedColumns = dt.Columns.Cast<DataColumn>().Where(dc => additionalColumns.Any(p => p.ColumnName == dc.ColumnName)).ToList();foreach(DataColumn column in duplicatedColumns){dt.Columns.Remove(column);}
Делает простую работу - удаляет из таблицы колонки которые там уже есть и есть в списке additionalColumns.
Остальное - остается на месте.
Почему так - не суть важно, но если интересно - заменяется тип колонки и дефаултное значение.
Вопросик над которым думаю:
- Можно ли написать все тоже самое, но без цикла в конце?
Т.е. нужно чтобы дублирующие (по имени) колонки были удалены.
П.С. Про то, что LINQ не является языком манипулации данными Я в курсе. Как обойти?
П.П.С. Про то, что источник данных длйa итератора не должен менятся в процессе - разумеется тоже.