从数据表中获取一个ID(值)数组

本文关键字:一个 数组 ID 数据表 获取 | 更新日期: 2023-09-27 17:58:39

我有一个包含50行的数据表,并且有一个ID列。我正在尝试获得一个只包含ID的数组,如:

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

有办法做到这一点吗。我总是收到错误"找不到查询的实现……"

从数据表中获取一个ID(值)数组

通过添加对System.Data.DataSetExtensionsusing 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();

是否有任何方法可以将列表数据表选择到客户对象数组中。假设所有列都是相同的。