using System.Collections.Generic;
public static void Main()
List<faceline> Faceline = new List<faceline>();
Faceline.Add(new faceline{a = 1, b = 2});
Faceline.Add(new faceline{a = 2, b = 1});
Faceline.Add(new faceline{a = 1, b = 1});
Faceline = Faceline.Distinct().ToList();
for (int i = 0; i < Faceline.Count(); i++)
Console.WriteLine("a: {0} b: {1}", Faceline[i].a, Faceline[i].b);
public override bool Equals(object obj)
if (obj != null && obj is faceline)
bool aEqalsa = ((faceline)obj).a == this.a && ((faceline)obj).b == this.b;
bool bEqalsa = ((faceline)obj).b == this.a && ((faceline)obj).a == this.b;
return aEqalsa || bEqalsa;
public override int GetHashCode()
return a.GetHashCode() + b.GetHashCode();