//Удаление элемента по идексу 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); } }
//Добавление элемента в конец 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++; }