我想检查一个 DataTable 中的 DataRow 是否存在于另一个 DataTable 中。
我有两个数据表。将会有一些相同的 DataRows 并且存在于两者中。如果我知道每次都会有哪些列,这将非常容易,但我不知道。使用类似于...的东西
datatable.Rows[i].Field <String> columnName);
将不起作用,因为此字段可能是整数、字符串或日期/时间。但是,我确实知道这两个文件具有相同的列名。
我的代码是零碎的,但这就是它目前的样子。现在我生成一个列名列表,仅此而已。
for (var h = 0; h < origDbfFile.datatable.Columns.Count; h++) {
columnNames.Add(origDbfFile.datatable.Columns[h].ColumnName);
}
我有一个循环噩梦,如果有人能找到更清洁的解决方案,将不胜感激!
for (int g = 0; g < origDbfFile.dataset.Tables[0].Rows.Count; g++)
{
for (int h = 0; i < modDbfFile.dataset.Tables[0].Columns.Count; h++)
{
foreach (String columnName in columnNames)
{
String rowValue = origDbfFile.dataset.Tables[0].Rows[g].Field<String>(Convert.ToString(columnName));
//test data
result += "Column name:  : " + columnName + "<br/>";
result += "Value " + rowValue + "<br/><br/>";
//if logic will go below
}
}
}