public override bool Equals(object obj) { var idef = obj as IndexDefinition; if (idef != null && idef.Type == Type && idef.Fields.Length == Fields.Length) { uint i = 0; return idef.Fields.All(field => field == Fields[i++]); } return false; }