На базе обычного массива реализовать свой собственный класс - 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(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д