gpt4 book ai didi

c# - 比较数据表并返回不匹配的行

转载 作者:行者123 更新时间:2023-11-30 12:58:18 24 4
gpt4 key购买 nike

我正在尝试比较两个数据表并捕获第三个数据表的差异。

DataTable one = new DataTable();
one.Columns.Add("ID");
one.Columns.Add("PCT");
one.Rows.Add("1", "0.1");
one.Rows.Add("2", "0.2");
one.Rows.Add("3", "0.3");
gvone.DataSource = one;
gvone.DataBind();
DataTable two = new DataTable();
two.Columns.Add("ID");
two.Columns.Add("PCT");
two.Columns.Add("OldPCT");
two.Rows.Add("1", "0.0", "0");
two.Rows.Add("2", "0.1", "0");
two.Rows.Add("3", "0.9", "0");
two.Columns.Remove("OldPCT");
gvtwo.DataSource = two;
gvtwo.DataBind();
DataTable dt3 = two.AsEnumerable().Except(one.AsEnumerable()).CopyToDataTable();
var diffName = two.AsEnumerable().Select(r => r.Field<string>("PCT")).Except(one.AsEnumerable().Select(r => r.Field<string>("PCT")));
if (diffName.Any())
{
DataTable Table3 = (from row in two.AsEnumerable()
join name in diffName
on row.Field<string>("PCT") equals name
select row).CopyToDataTable();
}

现在我在表 3 中的结果应该是数据表二中的所有行。因为值(value)观不匹配。但它只返回数据表二的第一行和最后一行。但是我需要获取表 2 的所有行。如何对行进行排序和比较。

最佳答案

遍历每个数据表的行,然后遍历该循环中的每一列以比较各个值。

示例在这里:

http://canlu.blogspot.com/2009/05/how-to-compare-two-datatables-in-adonet.html

关于c# - 比较数据表并返回不匹配的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30400810/

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