我有两个数据表,A
和 B
,由 CSV 文件生成。我需要能够检查 B
中存在哪些行,而 A
中不存在这些行。
有没有一种方法可以执行某种查询来显示不同的行,或者我是否必须遍历每个 DataTable 上的每一行以检查它们是否相同?如果表变大,后一种选择似乎非常密集。
最佳答案
假设您有一个适当类型的 ID 列(即提供哈希码并实现相等性)- 在本例中为字符串,它有点伪代码,因为我对 DataTables 不太熟悉并且没有时间现在全部查看 :)
IEnumerable<string> idsInA = tableA.AsEnumerable().Select(row => (string)row["ID"]);
IEnumerable<string> idsInB = tableB.AsEnumerable().Select(row => (string)row["ID"]);
IEnumerable<string> bNotA = idsInB.Except(idsInA);
关于c# - 比较两个数据表以确定其中一个而不是另一个中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/164144/