Создание собственной обобщенной коллекции, аналогичной List - C#

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

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

У меня такой вопрос, можно ли создать свою собственну обобщенную коллекцию (я не оч хорошо владею всеми аспектами C#), аналогичную List<T>, читал статью http://www.codeproject.com/Articles/...sing-ICollecti, там подобие описывается, но у меня возник вопрос, там для динамического добавления/удаления используют переменную типа ArrayList, но я знаю что ArrayList все преобразовывает в object, тоесть boxing/unboxing, а это на сколько мне известно затратно, можно ли для динамического извлечения создать что-то свое строго типизированное.

Решение задачи: «Создание собственной обобщенной коллекции, аналогичной List»

textual
Листинг программы
  1.     public class MyArray<T>
  2.     {
  3.         private T[] buffer = new T[5];
  4.  
  5.         public int Count { get; private set; }
  6.  
  7.         public T this[int i]
  8.         {
  9.             get
  10.             {
  11.                 if (i < 0 || i >= Count)
  12.                     throw new IndexOutOfRangeException();
  13.                 return buffer[i];
  14.             }
  15.  
  16.             set
  17.             {
  18.                 if (i < 0 || i >= Count)
  19.                     throw new IndexOutOfRangeException();
  20.                 buffer[i] = value;
  21.             }
  22.         }
  23.  
  24.         public void Add(T value)
  25.         {
  26.             if (Count >= buffer.Length)
  27.                 Array.Resize<T>(ref buffer, buffer.Length*2);
  28.             buffer[Count] = value;
  29.             Count++;
  30.         }
  31.     }

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


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

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

8   голосов , оценка 3.875 из 5

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

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

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