我正在实现一个“协调”库,它允许在不同的数据对象之间执行差异。作为实现的一部分,我将要比较的对象(主要是 CSV 文件)转换为数据表,并执行特定的比较步骤,最后一个是比较行中的实际值。
为了进行行比较,我使用下面的代码:
var rowsMissingInTrgt = rowsInTrgt.Except(rowsInSrc, DataRowComparer.Default);
var rowsMissingInSrc = rowsInSrc.Except(rowsInTrgt, DataRowComparer.Default);
return rowsMissingInSrc.Count() > 0 ? false :
rowsMissingInTrgt.Count() > 0 ? false :
true;
我不想使用默认的 DataRowComparer,而是想实现一个自定义 DataRowComparer,但希望所有比较并行发生,因为这些任务彼此独立,最后提供了在比较上执行逻辑与或逻辑或的可选性任务。
问题:
实现“
IEqualityComparer<TRow>where TRow : DataRow
”是否足以调用行的并行比较?对于logical_AND,我认为,在第一个“假”上中止其余比较是有意义的。这可以做到吗?
对于logical_OR,我需要类似于线程上的wait_All 的东西。如何实施?