public override bool Equals(object obj) { var e = obj as Essence; if (e != null) { if (EssenceItems.Count != e.EssenceItems.Count) { return(false); } return(EssenceItems.SequenceEqual(e.EssenceItems)); } return(base.Equals(obj)); }
public override int GetHashCode() { return(EssenceItems.Aggregate(0, (h, ei) => h ^ ei.GetHashCode())); }
public override string ToString() { return(EssenceItems.Select(ei => ei.ToString()).JoinBy("; ")); }