【发布时间】:2014-01-02 14:04:58
【问题描述】:
我正在尝试获取两个不同类型的列表之间的差异,我有一个比较器,而不是遍历这两个列表,不包括另一个列表中的项目。
该方法最好是可重复使用且易于阅读的。
我想了一些 linq except 方法,但是对于两种类型和一个比较器没有重载。
我所希望的(编造的代码):
var fromDatabase = new List<T1>();
var fromUI = new List<T2>();
var comparer = new MyComparer();
var theThing = new TheThing<T1,T2>(fromDatabase, fromUI, comparer)
var newOnes = theThing.Two.Where(o=>o.other == null);
var removedOnes = theThing.One.Where(o=>o.other == null);
这将封装我的比较逻辑,我希望通过删除一些枚举来清理我的代码。
【问题讨论】: