public static lst <T> operator +(lst <T> L, lst <T> R) { var list = new lst <T>(L); list.AddRange(R); return(list); }
public static lst <T> operator -(lst <T> L, int R) { var list = new lst <T>(L); list.RemoveAt(R); return(list); }
public static lst <T> operator +(lst <T> L, T R) { var list = new lst <T>(L) { R }; return(list); }
public lst <T> subList(int startIndex, int endIndex) //=> GetRange(startIndex, count) as lst<T>; { var temp = new lst <T>(); int currIndex = startIndex; while (currIndex <= endIndex) { temp += this[currIndex]; currIndex++; } return(temp); }