Exemplo n.º 1
0
        public void AddFirst(T element)
        {
            lock (this)
            {
                if (this.firstNode.IsFull)
                {
                    ObjectListNode <T> newNode = new ObjectListNode <T>();

                    newNode.Next = this.firstNode;

                    this.firstNode = newNode;
                }

                this.firstNode.Add(element);

                this.count++;
            }
        }
Exemplo n.º 2
0
        public virtual void Add(T element)
        {
            lock (this)
            {
                if (this.lastNode.IsFull)
                {
                    ObjectListNode <T> newNode = new ObjectListNode <T>();

                    this.lastNode.Next = newNode;

                    this.lastNode = newNode;
                }

                this.lastNode.Add(element);

                this.count++;
            }
        }
Exemplo n.º 3
0
 public void Remove(T element)
 {
     lock (this)
     {
         for (ObjectListNode <T> node = this.firstNode; node != null; node = node.Next)
         {
             for (int k = 0; k < node.Elements.Length; k++)
             {
                 if (element.Equals(node.Elements[k]))
                 {
                     node.Elements[k] = default(T);
                     this.count--;
                     return;
                 }
             }
         }
     }
 }
Exemplo n.º 4
0
 public ObjectList()
 {
     this.lastNode = this.firstNode = new ObjectListNode <T>();
 }