/// <summary> /// Returns a Slinq that enumerates over the elements of the specified list using the specified start index and step. /// If startIndex is outside the element range of the list, the resulting Slinq will be empty. /// Slinqs created by this method will chain removal operations to the underlying list. /// </summary> public static Slinq <T, IListContext <T> > Slinq <T>(this IList <T> list, int startIndex, int step) { return(IListContext <T> .Slinq(list, startIndex, step)); }
/// <summary> /// Returns a Slinq that enumerates over the elements of the specified list in descending order. /// Slinqs created by this method will chain removal operations to the underlying list. /// </summary> public static Slinq <T, IListContext <T> > SlinqDescending <T>(this IList <T> list) { return(IListContext <T> .Slinq(list, list.Count - 1, -1)); }
/// <summary> /// Returns a Slinq that enumerates over the elements of the specified list in decending order starting with the specified index. /// If startIndex is outside the element range of the list, the resulting Slinq will be empty. /// Slinqs created by this method will chain removal operations to the underlying list. /// </summary> public static Slinq <T, IListContext <T> > SlinqDescending <T>(this IList <T> list, int startIndex) { return(IListContext <T> .Slinq(list, startIndex, -1)); }
/// <summary> /// Returns a Slinq that enumerates over the elements of the specified list in ascending order. /// Slinqs created by this method will chain removal operations to the underlying list. /// </summary> public static Slinq <T, IListContext <T> > Slinq <T>(this IList <T> list) { return(IListContext <T> .Slinq(list, 0, 1)); }