Example #1
0
        IPersistentCollection <T> IPersistentCollection <T> .Remove(T value)
        {
            var  list  = new List <T>();
            var  comp  = EqualityComparer <T> .Default;
            bool found = false;

            foreach (var cur in this)
            {
                if (!found && comp.Equals(value, cur))
                {
                    found = true;
                }
                else
                {
                    list.Add(cur);
                }
            }

            return(ImmutableCollection.Create(list));
        }
Example #2
0
 internal NormalCollection(MiniCollection left, ImmutableCollection <MiniCollection> middle, MiniCollection right)
 {
     m_left   = left;
     m_middle = middle;
     m_right  = right;
 }