public static CustomGenericList <T> operator -(CustomGenericList <T> List1, CustomGenericList <T> List2) { for (int i = 0; i < List1.Count(); i++) { for (int j = 0; j < List2.Count(); j++) { if (List1.innerArray[i].Equals(List2.innerArray[j])) { List1.RemoveAt(List2.innerArray[j]); } } } return(List1); }