Используйте метод 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();