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