C# 在datatable1表中,删除A列中,datatable2中B列有的值
时间: 2024-09-25 22:17:18 浏览: 51
在C#中,你可以使用`DataTable`的`Delete()`方法以及LINQ查询来实现这个操作。首先假设你已经有一个名为`datatable1`的DataTable,并且另一个名为`datatable2`也存储了你需要删除的B列的值。这里是一个简单的步骤:
```csharp
using System.Data;
using System.Linq;
// 假设DataTable的结构类似,都有相同的列名
DataTable datatable1 = ...; // 要操作的DataTable
DataTable datatable2 = ...; // 包含需要从datatable1中删除的B列值
// 获取B列的值列表
var valuesToRemove = datatable2.AsEnumerable()
.Select(row => row.Field<string>("B")) // 假设B列是字符串类型,如果其他类型则需相应调整
// 使用LINQ删除datatable1中B列对应的值
foreach (var value in valuesToRemove)
{
datatable1.Rows.Cast<DataRow>()
.Where(row => row.Field<string>("A") == value) // 假设A列对应于要去除的值
.ToList() // 先转换为List以便删除操作
.ForEach(row => row.Delete());
}
// 最后记得保存修改
datatable1.AcceptChanges();
```
阅读全文