Создание собственной обобщенной коллекции, аналогичной List - C#
Формулировка задачи:
У меня такой вопрос, можно ли создать свою собственну обобщенную коллекцию (я не оч хорошо владею всеми аспектами C#), аналогичную List<T>, читал статью http://www.codeproject.com/Articles/...sing-ICollecti, там подобие описывается, но у меня возник вопрос, там для динамического добавления/удаления используют переменную типа ArrayList, но я знаю что ArrayList все преобразовывает в object, тоесть boxing/unboxing, а это на сколько мне известно затратно, можно ли для динамического извлечения создать что-то свое строго типизированное.
Решение задачи: «Создание собственной обобщенной коллекции, аналогичной List»
textual
Листинг программы
- public class MyArray<T>
- {
- private T[] buffer = new T[5];
- public int Count { get; private set; }
- public T this[int i]
- {
- get
- {
- if (i < 0 || i >= Count)
- throw new IndexOutOfRangeException();
- return buffer[i];
- }
- set
- {
- if (i < 0 || i >= Count)
- throw new IndexOutOfRangeException();
- buffer[i] = value;
- }
- }
- public void Add(T value)
- {
- if (Count >= buffer.Length)
- Array.Resize<T>(ref buffer, buffer.Length*2);
- buffer[Count] = value;
- Count++;
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д