using System.Collections.Generic;
public static void Main()
var case1 = new Case { First = "One", Second = "Two" };
var case2 = new Case { First = "One", Second = "Not two" };
var caseByFirstComparer = new CaseByFirstComparer();
Console.WriteLine("case1 equals case2: " + caseByFirstComparer.Equals(case1, case2));
public string First {get;set;}
public string Second {get;set;}
public class CaseByFirstComparer : EqualityComparer<Case>
public override int GetHashCode(Case c)
return c.First.GetHashCode();
public override bool Equals(Case c1, Case c2)
return c1.First == c2.First;