Я думаю, что это должно сделать это
var comp1 = this.member1 == that.member1;
var comp2 = this.member2 == that.member2;
var comp3 = this.member3 == that.member3;
var comparisons = new List<string>() { comp2, comp3 };
return comparisons.Any(val => val != comp1 );
comp1
, comp2
и comp3
будут bools. Если какое-либо из этих сравнений отличается от первого сравнения *, мы знаем, что у нас разные результаты.
[*] Вы можете использовать любую контрольную точку вместо первого сравнения
Edit: Ой, я думал, что это был javascript вопрос, но потом я понял, что это был C#. Я просто изменил свой ответ, чтобы использовать синтаксис C#, но идея та же. Для этого требуется метод расширения Linq Any
.