查找两个对象列表的对称差异

Finding symmetric difference of two lists of objects

考虑以下类型的对象的两个列表(或其他适当的数据结构):

class Object
{
    public string clause;

    public string preamble;
    public string description;
}

我需要为这些不完全匹配的对象构建一个列表(preambledescription 两者完全相同)。例如,如果列表 A 中有一条记录,其 preamble 与列表 B 中的一条记录匹配,但它们的 description 不匹配,则应包含该记录。如果它们的 description 匹配,则不应包括它们(那将是它们交集的一部分)。

我一直在兜圈子试图找到解决方案,包括实现嵌套 foreach 循环。 List 或任何其他适当的数据结构是否存在对称差分函数,可以像这样通过比较对象的成员来比较对象?

就上下文而言,其中一个列表表示来自使用 Epplus 库获得的 Excel 电子表格的记录,另一个列表表示来自 Jira API.

的问题

对此没有方便的内置解决方案,可能是因为 .NET 中的对象不是数据。但是,有一些项目对您的问题很有用,例如 Compare .NET Objects,它可以使用反射比较对象,并且可以配置为列出两个对象之间的所有差异。