Получить массив идентификаторов (значений) из таблицы данных - PullRequest
4 голосов
/ 07 июня 2011

У меня есть дата с 50 строками и столбцом идентификаторов. Я пытаюсь получить массив, который содержит только идентификаторы, такие как:

string [] IDs = (from row in DataTable.Rows
                select row["ID"].toString()).ToArray();

Есть ли способ сделать это. Я всегда получаю сообщение об ошибке «Не удалось найти реализацию запроса ....»

Ответы [ 2 ]

5 голосов
/ 07 июня 2011

Используйте метод DataTableExtensions.AsEnumerable , добавив ссылку на System.Data.DataSetExtensions и using System.Data; Тогда вы сможете использовать следующий запрос:

var query = from row in datatable.AsEnumerable()
            select row["ID"].ToString();
string[] ids = query.ToArray();

Если вам действительно нужен массив, вы можете использовать последнюю строку выше или заключить запрос в круглые скобки и вызвать ToArray(), как вы делали изначально. Я вообще не фанат последнего подхода.

В свободном синтаксисе это будет:

string[] ids = datatable.AsEnumerable()
                        .Select(row => row["ID"].ToString())
                        .ToArray();
0 голосов
/ 09 декабря 2011

- в любом случае вы можете выбрать таблицу данных списка в массиве объектов клиента. Предполагая, что все столбцы будут одинаковыми.

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