Добавление элемента в список перед текущим - C#
Формулировка задачи:
Ребят помогите, не хочет добавлять элемент перед текущим и не видит(ListItem<T1>), подскажите в чем ошибки?
public class List<T>: IEnumerable<T>, IEnumerator<T> { class ListItem<T1> { public T1 Data { get; set; } public ListItem<T1> Next { get; set; } } private ListItem<T> firstItem; private ListItem<T> currentItem; public void AddFirst(T item); ListItem<T> newItem = ListItem<T>(); newItem.Data = item; newItem.Next = firstItem; firstItem = newItem; public T current { get { if (currentItem == null) throw new NullReferenceException("current can't be null"); return currentItem.Data; } set { if (currentItem == null) throw new NullReferenceException("current can't be null"); currentItem.Data = value; } } public void Reset() { currentItem = null; } public void AddBeforeFirst(T item) { ListItem<T> newItem = ListItem<T>(); newItem.Data = item; ListItem<T> tmpCounterItem= firstItem; tmpCounterItem.Next = newItem; newItem.Next = tmpCounterItem.Next; tmpCounterItem.Next = newItem; } public IEnumerator<T> GetEnumerator() { return this; } System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { return this; } object System.Collections.IEnumerator.Current { get { if (currentItem == null) throw new NullReferenceException("current can't be null"); return currentItem.Data; } set { if (currentItem == null) throw new NullReferenceException("current can't be null"); currentItem.Data = (T)value; } } public bool MoveNext() { if(currentItem == null) { if (HasValues) { currentItem=firstItem; return true; } } return false; if (currentItem.Next != null) { currentItem = currentItem.Next; return true; } return false; } public bool HasValues { get { return firstItem != null; } } }
Решение задачи: «Добавление элемента в список перед текущим»
textual
Листинг программы
T IEnumerator<T>.Current { get { throw new NotImplementedException(); } set { current = value; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д