gpt4 book ai didi

c# - 使用数组 c# 中的值过滤数据表

转载 作者:太空宇宙 更新时间:2023-11-03 19:10:15 25 4
gpt4 key购买 nike

我有一个删除方法,它获取一个 GUID 数组并且我有一个数据表...我如何过滤数据表以使其只包含这些 GUID?

public void delete(Guid[] guidlist)
{
datatable template = ReadTemplateList()
...
}

谢谢!

最佳答案

使用 Linq to DataSet,您可以创建新的 DataTable,其中只有包含这些 Guid 的行:

public void Delete(Guid[] guids)
{
DataTable table = ReadTemplateList()
.AsEnumerable()
.Where(r => guids.Contains(r.Field<Guid>("ColumnName")))
.CopyToDataTable();

// ...
}

另一个选项(也适用于旧的 .NET 版本)是使用支持 IN 过滤器的内置 RowFilter 功能过滤您的表格。假设您按名为 ID 的列进行过滤:

// Check if guids.Length > 0
StringBuilder filter = new StringBuilder("ID IN (");
foreach (Guid id in guids)
filter.AppendFormat("Convert('{0}','System.Guid'),", id);
filter.Append(")");

DataTable template = ReadTemplateList();
DataView view = template.DefaultView;
view.RowFilter = filter.ToString();
DataTable table = view.ToTable();

关于c# - 使用数组 c# 中的值过滤数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21309370/

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