異なるデータ オブジェクト間の差分を実行できるようにする「調整」ライブラリを実装しています。実装の一環として、比較するオブジェクト (ほとんどの場合 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 を実装したいと考えていますが、これらのタスクは互いに独立しており、最後に比較で logical_AND または logical_OR のいずれかを実行するオプションを提供するため、すべての比較を並行して実行したいと考えています。タスク。
質問:
" " の実装は
IEqualityComparer<TRow>where TRow : DataRow
、行の並列比較を呼び出すのに十分ですか?logical_AND については、最初の「false」で残りの比較を中止するのが理にかなっていると思います。これはできますか?
logical_OR の場合、スレッドで wait_All に似たものが必要になります。これはどのように実装できますか?