gpt4 book ai didi

C# - 通过与第二个数据表比较来从一个数据表复制行到第三个数据表

转载 作者:太空宇宙 更新时间:2023-11-03 20:56:36 26 4
gpt4 key购买 nike

我的 C# 代码中有 4 个 DataTables

DataTable dt1;
DataTable dt2;
DataTable dt3;
DataTable dt4;

dt1 有如下记录

Id | Name | City
----------------
1 | Abc | Khi
2 | XYZ | Hyd
3 | TVW | Lhr
4 | tyz | Isb

dt2只有ID记录

Id
---
2
4

我只需要将 dt1 中的行复制到 dt3 中,这些行在 dt2 中也可用。还需要在第 4 个 dt4

中存储不匹配的记录

我找到了这个,但不知道如何正确复制到 datatable 以及 not equals 在这里如何工作

var matchingRows = from s1 in dt1.AsEnumerable()
join s2 in d2.AsEnumerable() on s1.Field<int>("Id") equals s2.Field<int>("Id")
select s1;

最佳答案

我不喜欢在不必要时使用 var。你正在忘记你实际上在做什么。 mathcingRows 是一个列表。所以任务很简单:

           List<DataRow> matchingRows = (from s1 in dt1.AsEnumerable()
join s2 in dt2.AsEnumerable() on s1.Field<int>("Id") equals s2.Field<int>("Id")
select s1).ToList();
foreach (DataRow row in matchingRows)
{
dt4.Rows.Add(row);
}

关于C# - 通过与第二个数据表比较来从一个数据表复制行到第三个数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49845075/

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