查找两个对象列表的对称差异
Finding symmetric difference of two lists of objects
考虑以下类型的对象的两个列表(或其他适当的数据结构):
class Object
{
public string clause;
public string preamble;
public string description;
}
我需要为这些不完全匹配的对象构建一个列表(preamble
和 description
两者完全相同)。例如,如果列表 A 中有一条记录,其 preamble
与列表 B 中的一条记录匹配,但它们的 description
不匹配,则应包含该记录。如果它们的 description
匹配,则不应包括它们(那将是它们交集的一部分)。
我一直在兜圈子试图找到解决方案,包括实现嵌套 foreach
循环。 List
或任何其他适当的数据结构是否存在对称差分函数,可以像这样通过比较对象的成员来比较对象?
就上下文而言,其中一个列表表示来自使用 Epplus 库获得的 Excel 电子表格的记录,另一个列表表示来自 Jira API.
的问题
对此没有方便的内置解决方案,可能是因为 .NET 中的对象不是数据。但是,有一些项目对您的问题很有用,例如 Compare .NET Objects,它可以使用反射比较对象,并且可以配置为列出两个对象之间的所有差异。
考虑以下类型的对象的两个列表(或其他适当的数据结构):
class Object
{
public string clause;
public string preamble;
public string description;
}
我需要为这些不完全匹配的对象构建一个列表(preamble
和 description
两者完全相同)。例如,如果列表 A 中有一条记录,其 preamble
与列表 B 中的一条记录匹配,但它们的 description
不匹配,则应包含该记录。如果它们的 description
匹配,则不应包括它们(那将是它们交集的一部分)。
我一直在兜圈子试图找到解决方案,包括实现嵌套 foreach
循环。 List
或任何其他适当的数据结构是否存在对称差分函数,可以像这样通过比较对象的成员来比较对象?
就上下文而言,其中一个列表表示来自使用 Epplus 库获得的 Excel 电子表格的记录,另一个列表表示来自 Jira API.
的问题对此没有方便的内置解决方案,可能是因为 .NET 中的对象不是数据。但是,有一些项目对您的问题很有用,例如 Compare .NET Objects,它可以使用反射比较对象,并且可以配置为列出两个对象之间的所有差异。