示例#1
0
 public LstInternal <A> RemoveAt(int index)
 {
     if (index < 0 || index >= Root.Count)
     {
         throw new IndexOutOfRangeException();
     }
     return(Wrap(ListModule.Remove(Root, Rev ? Count - index - 1 : index), Rev));
 }
示例#2
0
        public LstInternal <A> Remove(A value, IComparer <A> equalityComparer)
        {
            var index = ListModule.Find(Root, value, 0, Count, equalityComparer);

            return(index >= 0 && index < Count
                ? Wrap(ListModule.Remove(Root, index), Rev)
                : this);
        }
示例#3
0
        /// <summary>
        /// Remove an item from the list
        /// </summary>
        public Lst <T> Remove(T value, IComparer <T> equalityComparer)
        {
            var index = ListModule.Find(Root, value, 0, Count, equalityComparer);

            return(index >= 0 && index < Count
                ? new Lst <T>(ListModule.Remove(Root, index), Rev)
                : this);
        }
示例#4
0
 public LstInternal <A> RemoveAll(Func <A, bool> pred) =>
 Wrap(ListModule.Remove(Root, pred));
示例#5
0
 public LstInternal <A> Remove(A value, IEqualityComparer <A> equalityComparer) =>
 Wrap(ListModule.Remove(Root, value, equalityComparer));