На базе обычного массива реализовать свой собственный класс - 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
Листинг программы
  1. class DynamicAray<T>
  2. {
  3.     public T[] array;
  4.     public DynamicAray(IEnumerable<T> sourse)
  5.     {
  6.         array = sourse.ToArray();
  7.     }
  8. }

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


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

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

13   голосов , оценка 4.077 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы