我有一个包含50行的数据表,其中有一个ID列。我想要获取一个只包含ID的数组,例如:
string [] IDs = (from row in DataTable.Rows
select row["ID"].toString()).ToArray();
有没有办法做到这一点。我总是会收到错误信息:“无法找到查询的实现...”
我有一个包含50行的数据表,其中有一个ID列。我想要获取一个只包含ID的数组,例如:
string [] IDs = (from row in DataTable.Rows
select row["ID"].toString()).ToArray();
有没有办法做到这一点。我总是会收到错误信息:“无法找到查询的实现...”
通过添加对System.Data.DataSetExtensions
的引用以及using System.Data;
,使用DataTableExtensions.AsEnumerable
方法。然后您应该能够使用以下查询:
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();
System.Data.DataSetExtensions
的引用,并通过 using System.Data;
添加 System.Data
命名空间,因为 DataTable 的 AsEnumerable
方法与通常的方法不同。 - Ahmad Mageed有没有办法将列表数据表选择为客户对象数组。 假设所有列都将相同。
toString()
只是一个拼写错误,不是吗? - M4N