我有 2 张桌子:
表 1
名称计数器
A 1
B 2
C 3
表 2
名称计数器
A 2
B 2
C 3
如何得到以下结果?
名称计数器
A 1
A 2
B 2
C 3
如果数据来自关系型数据库,并且ORM层是Linq2Sql或Entity Framework,那么通过部分类语法扩展数据对象(表中的“行”)来覆盖Equals方法(用需要的语义覆盖它,就像这两个字段应该相同)并使用 Enumerable. 联合扩展方法。
或者使用带有IEqualityComparer对象的其他重载的 Union 扩展方法。在该对象中,您可以实现比较。( http://msdn.microsoft.com/en-us/library/bb358407.aspx )
如果这两个表是如此不同,以至于为它们生成了不同的类,那么您应该将它们包装在第 3 个类(适配器设计模式)中,以便能够一起使用它们的集合并使用上述方法。