Создание собственной обобщенной коллекции, аналогичной 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++;
}
}