public static JList <T> operator -(JList <T> listA, JList <T> listB) { JList <T> output = new JList <T>(); int indexFound = listA.Find(listB); if (indexFound != -1) { int indexFoundEnd = indexFound + listB.Count - 1; for (int i = 0; i < listA.Count; i++) { if (i < indexFound || i > indexFoundEnd) { output.Add(listA[i]); } } } else { for (int i = 0; i < listA.Count; i++) { output.Add(listA[i]); } } return(output); }
public static JList <T> operator +(JList <T> listA, JList <T> listB) { JList <JList <T> > jlists = new JList <JList <T> >(); JList <T> output = new JList <T>(); jlists.Add(listA); jlists.Add(listB); for (int i = 0; i < jlists.Count; i++) { for (int j = 0; j < jlists[i].Count; j++) { output.Add(jlists[i][j]); } } return(output); }