Как отфильтровать пустые строки из таблицы данных без использования цикла? - PullRequest
4 голосов
/ 14 июня 2011

У меня есть сценарий, в котором таблица данных может содержать большое количество строк.В результате я не могу перебрать и обновить данные, используя цикл.

Я пробовал следующий код,

          from row in table.AsEnumerable()
          where table.Columns.Any(col => !row.IsNull(col))
          select row;

Но я не могу найти определение для Any () .Есть ли какое-либо пространство имен, которое я должен использовать, чтобы получить Any ()?

Любое тело, пожалуйста, скажите мне, как исправить это или предложить какие-либо альтернативные решения ..

Ответы [ 4 ]

7 голосов
/ 14 июня 2011

Помимо необходимости использовать пространство имен System.Linq, вам также необходимо знать о типах элементов.DataTable.Columns не является универсальной коллекцией (она реализует только IEnumerable, а не IEnumerable<T>), и компилятор не может определить тип.Вам нужно сделать что-то вроде этого:

from row in table.AsEnumerable()
where table.Columns.Cast<DataColumn>.Any(col => !row.IsNull(col))
select row;
0 голосов
/ 14 июня 2011

использовать system.linq пространство имен, если версия платформы больше 2

0 голосов
/ 14 июня 2011

Вы должны включить следующее:

using System.Linq;
0 голосов
/ 14 июня 2011

Метод Any() находится в пространстве имен System.Linq.Метод живет в Queryable классе

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