예제 #1
0
 //Удаление элемента по идексу
 public bool RemoveAt(int index)
 {
     if (index > 0 && index < Count)
     {
         TranspSredstv[] buf      = new TranspSredstv[Capasity];
         TranspSredstv   del_elem = arr[index - 1];
         for (int i = 0, j = 0; i < Count; i++)
         {
             if (i == index - 1)
             {
                 continue;
             }
             buf[j] = arr[i];
             j++;
         }
         Count--;
         arr = buf;
         CollectionCountChenged?.Invoke(this, new CollectionHandlerEventArgs(NameCollection,
                                                                             String.Format("Удаление из коллекции элемента с индексом {0}.", index), del_elem));
         return(true);
     }
     else
     {
         return(false);
     }
 }
예제 #2
0
        //Добавление элемента в конец
        public void Add()
        {
            TranspSredstv item = RandElem.Rand();

            if (Count < Capasity)
            {
                arr[Count] = item;
                CollectionCountChenged?.Invoke(this, new CollectionHandlerEventArgs(NameCollection, "Добавление 1 элемента в конец коллекции.", arr[Count]));
            }
            else
            {
                Resize();
                arr[Count] = item;
                CollectionCountChenged?.Invoke(this, new CollectionHandlerEventArgs(NameCollection, "Добавление 1 элемента в конец коллекции.", arr[Count]));
            }
            Count++;
        }