/// <summary> /// Удаление последнего по списку /// </summary> public void Delete() { PersonBase[] newArray = new PersonBase[_dataArray.Length - 1]; for (int i = 0; i < _dataArray.Length - 1; i++) { newArray[i] = _dataArray[i]; } _dataArray = newArray; }
/// <summary> /// Создание базовых данных персоны /// </summary> /// <returns></returns> private static void RandomBaseInfo(PersonBase person) { person.Name = person.Gender == GenderType.Male ? GetRandomString(Properties.Resources.MaleNames) : GetRandomString(Properties.Resources.FemaleNames); person.Sername = person.Gender == GenderType.Male ? GetRandomString(Properties.Resources.MaleSernames) : GetRandomString(Properties.Resources.FemaleSernames); }
/// <summary> /// Доавление персоны в список /// </summary> /// <param name="person"> /// Персона, которую необходимо внести в список /// </param> public void AddPerson(PersonBase person) { PersonBase[] newArray = new PersonBase[_dataArray.Length + 1]; for (int i = 0; i < _dataArray.Length; i++) { newArray[i] = this._dataArray[i]; } newArray[_dataArray.Length] = person; _dataArray = newArray; }
/// <summary> /// Получение индекса конкретной персоны по списку (-1 по умолчанию) /// </summary> /// <param name="person">Искомая персона</param> /// <returns>Номер персоны в списке</returns> public int GetIndex(PersonBase person) { int index = -1; for (int i = 0; i < _dataArray.Length; i++) { if (_dataArray[i] == person) { index = i; } } return(index); }
/// <summary> /// Удаление персоны с заданным номером /// </summary> /// <param name="index">Номер удалаемой персоны</param> public void DeleteByIndex(int index) { CheckIndex(index); PersonBase[] newArray = new PersonBase[_dataArray.Length - 1]; for (int i = 0; i < _dataArray.Length - 1; i++) { // Заполнение до удалённой строки if (i < index) { newArray[i] = this._dataArray[i]; } // Заполнение после удалённой строки else { newArray[i] = this._dataArray[i + 1]; } } _dataArray = newArray; }