public void RemoveAt(int pos) { MyArrayElement posElm = GetElementAt(pos); if (posElm != null) { MyArrayElement before = posElm.Before; MyArrayElement next = posElm.Next; if (before == null) { m_StartElement = next; } else { before.Next = next; } if (next == null) { m_LastElement = before; } else { next.Before = before; } m_Count--; } }
public object Set(int pos, object Cont) { object retObj = null; MyArrayElement posElm = GetElementAt(pos); if (posElm != null) { posElm.Content = Cont; } return(retObj); }
private MyArrayElement GetElementAt(int pos) { MyArrayElement posElement = null; if (pos >= 0 && pos < m_Count) { posElement = m_StartElement; for (int i = 0; i < pos; i++) { posElement = posElement.Next; } } return(posElement); }
public void Add(object Cont) { MyArrayElement neuCont = new MyArrayElement(m_LastElement, null, Cont); if (m_StartElement == null) { m_StartElement = neuCont; m_LastElement = neuCont; } else { m_LastElement.Next = neuCont; m_LastElement = neuCont; } m_Count++; }
public object[] ToArray(Type objTyp) { object[] objArr = null; if (m_Count > 0) { objArr = new object[m_Count]; int cnt = 0; MyArrayElement posElement = m_StartElement; while (posElement != null && cnt < m_Count) { if (posElement.Content != null) { objArr[cnt] = posElement.Content; cnt++; } } } return(objArr); }
public void Clear() { m_StartElement = null; m_LastElement = null; m_Count = 0; }
internal MyArrayElement(MyArrayElement before, MyArrayElement next, object Cont) { m_Next = next; m_Before = before; m_Content = Cont; }