我想比较两个对象列表。这些对象有四种不同的属性。我只需将它们中的三个作为序列进行比较(只有三个因为一个总是不同)。
一个例子如下:
list1 = new List<myClass>() { new myClass(10, "a", 100, "unique1"),
new myClass(10, "a", 100, "unique2") };
list2 = new List<myClass>() { new myClass(10, "a", 100, "unique3"),
new myClass(10, "a", 100, "unique4") };
我可以将这些列表比作没有第四(唯一)属性的序列吗?预期的结果将是正确的。
任何想法如何解决这个问题?
答案 0 :(得分:3)
您可以使用SequenceEqual
重载,该重载允许您传入仅包含您要比较的属性的IEqualityComparer<T>
实现。
linked page上的示例很好。
答案 1 :(得分:2)
您可以使用Enumerable.SequenceEqual
重载来指定自定义IEqualityComparer
- 实现一个仅比较您感兴趣的三个属性的自定义。