2011-11-08 69 views
2

我想比較兩個對象列表。這些對象有四個不同的屬性。我只需要將它們中的三個作爲序列進行比較(只有三個,因爲一個總是不同的)。SequenceEqual特定屬性

一個例子是如下:

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") }; 

我可以比較這些列表作爲序列而不第四(唯一的)財產?期望的結果將是TRUE。

任何想法如何解決這個問題?

回答

3

您可以使用SequenceEqual過載,該過載允許您傳入僅包含要比較的屬性的IEqualityComparer<T>實現。

linked page的例子是一個很好的例子。

2

可以使用Enumerable.SequenceEqual過載,使您可以指定一個自定義IEqualityComparer - 實現一個自定義的,只有比較了三個屬性,你有興趣