gpt4 book ai didi

.net - 使用 LINQ 从数据集中选择行,其中 RowsID 的列表位于 List

转载 作者:行者123 更新时间:2023-12-04 14:21:15 25 4
gpt4 key购买 nike

首先我不得不说,我是一个使用 LINQ 的新手。实际上我以前从未使用过,但我有一个任务需要过滤 DataTable,使用来自列表的值。
所以我想知道在 LINQ 中是否可以使用列表中的值作为过滤器值来查询数据表。有人可以给我一些提示

谢谢你。

最佳答案

执行此操作的最佳方法取决于您打算如何处理过滤后的结果。您是否需要将结果作为 DataTable 返回以进行进一步操作,或者您是否需要对结果进行数据绑定(bind)?

以下面的示例为例,它返回匹配 DataRows 的(可绑定(bind)的)枚举器

//create sample table with sample rows
DataTable table = new DataTable();

table.Columns.Add("id", typeof(int));

for (int i = 1; i < 11; i++)
{
DataRow row = table.NewRow();
row[0] = i;
table.Rows.Add(row);
}

//filter the table by id (in a list)
List<int> rowIds = new List<int> { 1, 3, 6 };

IEnumerable<DataRow> matchingRows = from DataRow row in table.Rows
where rowIds.Contains((int)row[0])
select row;

如果您需要 DataTable,您可以将行导入另一个表:
DataTable filteredTable = table.Clone();

foreach (DataRow filteredRow in matchingRows)
{
filteredTable.ImportRow(filteredRow);
}

关于.net - 使用 LINQ 从数据集中选择行,其中 RowsID 的列表位于 List<T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1268993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com