我正在尝试从dataTable获取匹配的值,我的代码是
DataTable match = MnDt.AsEnumerable()
.Intersect(dataTable.AsEnumerable(), DataRowComparer.Default)
.CopyToDataTable<DataRow>();
MnDt表包含
1 1236 1 0 0 0
3 1236 1 0 0 0
3 5 1 0 55 40
和datatable包含
3 5 1 0 55 40
我希望输出为
3 5 1 0 55 40
来自MnDt;
请帮我解决..
答案 0 :(得分:0)
试试这样:
DataTable match = MnDt.AsEnumerable().Where((x) =>
{
bool second_table_contains_this_row = false;
foreach (var second_table_row in dataTable.AsEnumerable())
{
second_table_contains_this_row = MethodForCompareTwoRows(x, second_table_row);
if (second_table_contains_this_row)
break;
}
return second_table_contains_this_row;
}.CopyToDataTable<DataRow>();
您可以添加所需的任何逻辑,包括“where”实现中的自定义过滤。始终搜索敏捷解决方案,避免使用“可立即运行”的代码。