На базе обычного массива реализовать свой собственный класс - C#

Узнай цену своей работы

Формулировка задачи:

На базе обычного массива (коллекции .NET не использовать) реализовать свой собственный класс DynamicArray, представляющий собой динамический массив (массив с запасом) для хранения объектов произвольных типов. Класс должен содержать: 1. Конструктор без параметров (создаётся массив ёмкостью 8 элементов). 2. Конструктор с одним целочисленным параметром (создаётся массив указанной ёмкости). 3. Конструктор, который в качестве параметра принимает коллекцию, реализующую интерфейс IEnumerable, создаёт массив нужного размера и копирует в него все элементы из коллекции. 4. Метод Add, добавляющий в конец массива один элемент. При нехватке места для добавления элемента, ёмкость массива должна удваиваться. 5. Метод AddRange, добавляющий в конец массива содержимое коллекции, реализующей интерфейс IEnumerable. Обратите внимание, метод должен корректно учитывать число элементов в коллекции с тем, чтобы при необходимости расширения массива делать это только один раз вне зависимости от числа элементов в добавляемой коллекции. 6. Метод Remove, удаляющий из коллекции указанный элемент. Метод должен возвращать true, если удаление прошло успешно и false в противном случае. При удалении элементов реальная ёмкость массива не должна уменьшаться. 7. Метод Insert, позволяющий добавить элемент в произвольную позицию массива (обратите внимание, может потребоваться расширить массив). Метод должен возвращать true, если добавление прошло успешно и false в противном случае. При выходе за границу массива должно генерироваться исключение ArgumentOutOfRangeException. 8. Свойство Length — получение количества элементов. Не путать с ёмкостью (Capacity). 9. Свойство Capacity — получение ёмкости: длины внутреннего массива. 10. Методы, реализующие интерфейсы IEnumerable и IEnumerator. 11. Индексатор, позволяющий работать с элементом с указанным номером. При выходе за границу массива должно генерироваться исключение ArgumentOutOfRangeException. Хоть бы первые несколько) Заранее спасибо

Решение задачи: «На базе обычного массива реализовать свой собственный класс»

textual
Листинг программы
class DynamicAray<T>
{
    public T[] array;
    public DynamicAray(IEnumerable<T> sourse)
    {
        array = sourse.ToArray();
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5
Похожие ответы